1 //Test for nullable Test
2 // and getParameterTypeClassName(param); in ParameterMetaData
5 public class ParaMetaTest1
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 not null, f2 smallint, f3 tinyint, f4 bigint, f5 float, f6 char(10), f7 date, f8 time, f9 timestamp,primary key(f6,f7));");
16 PreparedStatement stmt
=null,selStmt
=null;
17 stmt
=con
.prepareStatement("INSERT INTO T1 VALUES(?,?,?,?,?,?,?,?,?);");
20 ParameterMetaData paramMetaData
= null;
21 paramMetaData
= stmt
.getParameterMetaData();
22 if (paramMetaData
== null) {
23 System
.out
.println("db vendor does NOT support ParameterMetaData");
25 System
.out
.println("db vendor supports ParameterMetaData");
26 int paramCount
= paramMetaData
.getParameterCount();
27 System
.out
.println("paramCount=" + paramCount
);
28 System
.out
.println("param number is NULL allow className");
29 System
.out
.println("-----------------------------------------------");
30 for (int param
= 1; param
<= paramCount
; param
++) {
31 System
.out
.print(" "+param
+" ");
32 int nullable
= paramMetaData
.isNullable(param
);
33 if (nullable
== ParameterMetaData
.parameterNoNulls
)
34 System
.out
.print("NO ");
36 System
.out
.print("YES ");
37 String paramClassName
= paramMetaData
.getParameterClassName(param
);
38 System
.out
.println(paramClassName
);
46 stmt
.setShort(2,(short)(i
+1));
47 stmt
.setByte(3,(byte)(i
+2));
48 stmt
.setLong(4,(long)i
);
49 stmt
.setFloat(5,(float)1000+i
);
50 stmt
.setString(6, String
.valueOf("Bijaya"+i
));
51 stmt
.setDate(7,Date
.valueOf("2008-03-21"));
52 stmt
.setTime(8,Time
.valueOf("18:00:00"));
53 stmt
.setTimestamp(9,Timestamp
.valueOf("2008-03-21 18:00:00"));
54 ret
=stmt
.executeUpdate();
59 selStmt
=con
.prepareStatement("SELECT * FROM T1 where f2 = ? and f1 = ? and f3 = ?");
62 //Parameter metadataTest
64 paramMetaData
= selStmt
.getParameterMetaData();
65 if (paramMetaData
== null) {
66 System
.out
.println("db vendor does NOT support ParameterMetaData");
68 System
.out
.println("db vendor supports ParameterMetaData");
69 int paramCount
= paramMetaData
.getParameterCount();
70 System
.out
.println("paramCount=" + paramCount
);
71 System
.out
.println("param number is NULL allow className");
72 System
.out
.println("-----------------------------------------------");
73 for (int param
= 1; param
<= paramCount
; param
++) {
74 System
.out
.print(" "+param
+" ");
75 int nullable
= paramMetaData
.isNullable(param
);
76 if (nullable
== ParameterMetaData
.parameterNoNulls
)
77 System
.out
.print("NO ");
79 System
.out
.print("YES ");
80 String paramClassName
= paramMetaData
.getParameterClassName(param
);
81 System
.out
.println(paramClassName
);
87 selStmt
.setShort(1,(short)3);
88 selStmt
.setByte(3,(byte)4);
89 rs
=selStmt
.executeQuery();
92 System
.out
.println("Tuple value is " + rs
.getInt(1) + " "+
97 rs
.getString(6) + " "+
100 rs
.getTimestamp(9) + " "
106 cStmt
.executeUpdate("Drop table T1;");
108 }catch(Exception e
) {
109 System
.out
.println("Exception in Test: "+e
);