1 //Test for getParameterCount();
2 // and getParameterTypeName(param); in ParameterMetaData
5 public class ParaMetaTest3
7 public static void main(String
[] arg
)
11 Class
.forName("csql.jdbc.JdbcSqlDriver");
12 Connection con
=DriverManager
.getConnection("jdbc:csql","root","manager");
13 Statement cStmt
=con
.createStatement();
14 cStmt
.execute("CREATE TABLE T1 (f1 integer, f2 smallint, f3 tinyint, f4 bigint, f5 float, f6 char(10), f7 date, f8 time, f9 timestamp);");
16 PreparedStatement stmt
=null,selStmt
=null;
17 stmt
=con
.prepareStatement("INSERT INTO T1 VALUES(?,?,?,?,?,?,?,?,?);");
21 ParameterMetaData paramMetaData
= null;
22 paramMetaData
= stmt
.getParameterMetaData();
23 if (paramMetaData
== null) {
24 System
.out
.println("db vendor does NOT support ParameterMetaData");
26 System
.out
.println("db vendor supports ParameterMetaData");
27 int paramCount
= paramMetaData
.getParameterCount();
28 System
.out
.println("paramCount=" + paramCount
);
29 System
.out
.println("param number param SQL type name");
30 System
.out
.println("-----------------------------------------------");
31 for (int param
= 1; param
<= paramCount
; param
++) {
32 System
.out
.print(" "+param
+" ");
33 String paramTypeName
= paramMetaData
.getParameterTypeName(param
);
34 System
.out
.println(paramTypeName
);
42 stmt
.setShort(2,(short)(i
+1));
43 stmt
.setByte(3,(byte)(i
+2));
44 stmt
.setLong(4,(long)i
);
45 stmt
.setFloat(5,(float)1000+i
);
46 stmt
.setString(6, String
.valueOf("Bijaya"+i
));
47 stmt
.setDate(7,Date
.valueOf("2008-03-21"));
48 stmt
.setTime(8,Time
.valueOf("18:00:00"));
49 stmt
.setTimestamp(9,Timestamp
.valueOf("2008-03-21 18:00:00"));
50 ret
=stmt
.executeUpdate();
55 selStmt
=con
.prepareStatement("SELECT * FROM T1 where f2 = ? and f1 = ? and f3 = ?");
58 //Parameter metadataTest
61 paramMetaData
= selStmt
.getParameterMetaData();
62 if (paramMetaData
== null) {
63 System
.out
.println("db vendor does NOT support ParameterMetaData");
65 System
.out
.println("db vendor supports ParameterMetaData");
66 int paramCount
= paramMetaData
.getParameterCount();
67 System
.out
.println("paramCount=" + paramCount
);
68 System
.out
.println("param number param SQL type name");
69 System
.out
.println("-----------------------------------------------");
70 for (int param
= 1; param
<= paramCount
; param
++) {
71 System
.out
.print(" "+param
+" ");
72 String paramTypeName
= paramMetaData
.getParameterTypeName(param
);
73 System
.out
.println(paramTypeName
);
79 selStmt
.setShort(1,(short)3);
80 selStmt
.setByte(3,(byte)4);
81 rs
=selStmt
.executeQuery();
84 System
.out
.println("Tuple value is " + rs
.getInt(1) + " "+
89 rs
.getString(6) + " "+
92 rs
.getTimestamp(9) + " "
98 cStmt
.executeUpdate("Drop table T1;");
100 }catch(Exception e
) {
101 System
.out
.println("Exception in Test: "+e
);