adding test scripts
[csql.git] / test / jdbc / ParameterMetadata / ParaMetaTest2.java
blobaf0f3287ba783623ea2f0bade28fd559c8cce27c
1 //Test for getParameterMode
2 // and getParameterType(param); in ParameterMetaData
4 import java.sql.*;
5 public class ParaMetaTest2
7 public static void main(String[] arg)
9 try
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));");
15 con.commit();
16 PreparedStatement stmt=null,selStmt=null;
17 stmt=con.prepareStatement("INSERT INTO T1 VALUES(?,?,?,?,?,?,?,?,?);");
18 //Parameter Test
20 ParameterMetaData paramMetaData = null;
21 paramMetaData = stmt.getParameterMetaData();
22 if (paramMetaData == null) {
23 System.out.println("db vendor does NOT support ParameterMetaData");
24 } else {
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 Mode Type");
29 System.out.println("-----------------------------------------------");
30 for (int param = 1; param <= paramCount; param++) {
31 System.out.print(" "+param+" ");
32 int nullable = paramMetaData.getParameterMode(param);
33 if (nullable == ParameterMetaData.parameterModeIn)
34 System.out.print("IN ");
35 else
36 System.out.print("OUT ");
37 int paramType = paramMetaData.getParameterType(param);
38 System.out.println(paramType);
42 int ret=0;
43 for(int i=0;i<10;i++)
45 stmt.setInt(1,i);
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();
55 if(ret!=1) break;
57 stmt.close();
58 con.commit();
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");
67 } else {
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 Mode Type");
72 System.out.println("-----------------------------------------------");
73 for (int param = 1; param <= paramCount; param++) {
74 System.out.print(" "+param+" ");
75 int nullable = paramMetaData.getParameterMode(param);
76 if (nullable == ParameterMetaData.parameterModeIn)
77 System.out.print("IN ");
78 else
79 System.out.print("OUT ");
80 int paramType = paramMetaData.getParameterType(param);
81 System.out.println(paramType);
86 ResultSet rs=null;
87 selStmt.setInt(2,2);
88 selStmt.setShort(1,(short)3);
89 selStmt.setByte(3,(byte)4);
90 rs=selStmt.executeQuery();
91 while(rs.next())
93 System.out.println("Tuple value is " + rs.getInt(1) + " "+
94 rs.getShort(2) + " "+
95 rs.getByte(3) + " "+
96 rs.getLong(4) + " "+
97 rs.getFloat(5) + " "+
98 rs.getString(6) + " "+
99 rs.getDate(7) + " "+
100 rs.getTime(8) + " "+
101 rs.getTimestamp(9) + " "
105 rs.close();
106 con.commit();
107 cStmt.executeUpdate("Drop table T1;");
108 con.close();
109 }catch(Exception e) {
110 System.out.println("Exception in Test: "+e);
111 e.printStackTrace();