GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 192
-
可以插入不透明类型的原始类型或它的转换类型。以下示例显示如何插入使用原始类型的
不透明数据:
String s = "insert into charattr_tab (int_col, charattr_col)
values (?, ?)";
System.out.println(s);
pstmt = conn.prepareStatement(s);
...
charattrUDT charattr = new charattrUDT();
charattr.chr1 = "a";
charattr.bold = true;
charattr.fontsize = (short)1;
pstmt.setInt(1, 1);
System.out.println("setInt...ok");
pstmt.setObject(2, charattr);
System.out.println("setObject(charattrUDT)...ok");
pstmt.executeUpdate();
如果定义了强制转换函数,并且想要将数据作为转换类型而不是原始类型插入,则必须调
用与转换类型相对应的 setXXX() 方法。
例如,
如果已经将 CHAR 或 LVARCHAR 函数转
换为 charattrUDT 列,则可以使用 setString() 方法插入数据,如下所示:
// Insert into UDT column using setString(int,String) and Java
String object.
String s =
"insert into charattr_tab " +
"(decimal_col, date_col, charattr_col, float_col) " +
"values (?,?,?,?)";
writeOutputFile(s);
PreparedStatement pstmt = myConn.prepareStatement(s);
...
String strObj = "(A, f, 18)";
pstmt.setString(3, strObj);
...
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 193
-