test cases for trie index
[csql.git] / test / odbc / Adapter / odbcselectnw1.c
blob6b91f72ecbe839beb913e9c1b6defeab7bca941a
1 // Adapter With network
2 // SQLGetData() test
3 // SQLNumResultCols test
4 #include<stdio.h>
5 #include<stdlib.h>
6 #include<sql.h>
7 #include<sqlext.h>
8 #include<string.h>
10 //*************************************************************************
12 inline void checkrc(int rc,int line)
14 if(rc)
16 printf("ERROR %d at line %d\n",rc,line);
17 exit(1);
21 //*************************************************************************
22 int InsertTest(SQLHANDLE env,SQLHANDLE dbc,SQLHANDLE stmt)
25 int ret;
26 int f1=90; // f1 field
27 int f2=20;//f2 field
30 ret = SQLPrepare(stmt,(unsigned char*)"INSERT INTO t1 VALUES(?,?)",SQL_NTS);
31 checkrc(ret,__LINE__);
33 // BIND PARAMETER
35 ret = SQLBindParameter(stmt,1,SQL_PARAM_INPUT,SQL_C_SLONG,SQL_INTEGER,0,0,&f1,0,NULL);
36 checkrc(ret,__LINE__);
38 ret = SQLBindParameter(stmt,2,SQL_PARAM_INPUT,SQL_C_SLONG,SQL_INTEGER,0,0,&f2,0,NULL);
39 checkrc(ret,__LINE__);
43 int i,count=0;
44 for(i=0;i<10;i++)
46 f1++;
47 f2++;
49 ret = SQLExecute(stmt);
50 checkrc(ret,__LINE__);
52 ret = SQLTransact(env,dbc,SQL_COMMIT);
53 checkrc(ret,__LINE__);
54 count++;
56 printf("Total row inserted=%d\n",count);
57 return 0;
59 //***********************************************************************
60 // FETCH ROWS FROM THE TABLE "T1"......select * from T1;
61 int FetchTest(SQLHANDLE env, SQLHANDLE dbc, SQLHANDLE stmt)
64 int ret;
65 int f1=0; // f1 field
66 int f2=0;//f2 field
68 int rettype ;
70 ret = SQLPrepare(stmt,(unsigned char*)"SELECT f1,f2 FROM t1 ",SQL_NTS);
71 rettype = ret;
72 if(rettype!=0)return 1;
74 ret = SQLBindCol(stmt,1,SQL_C_SLONG,&f1,0,NULL);
78 ret = SQLBindCol(stmt,2,SQL_C_SLONG,&f2,0,NULL);
79 */
83 int j, count=0;
85 ret = SQLExecute(stmt);
87 SQLSMALLINT noc;
88 ret = SQLNumResultCols(stmt,&noc);
89 printf("SQLNumResultCol() returns = %d\n",noc);
90 SQLINTEGER slen = SQL_NTS;
91 while(SQL_SUCCEEDED(ret = SQLFetch(stmt)))
93 ret=SQLGetData(stmt, 1, SQL_C_SLONG, &f1, 0,&slen );
94 checkrc(ret,__LINE__);
95 ret=SQLGetData(stmt, 2, SQL_C_SLONG, &f2, 0,&slen );
96 checkrc(ret,__LINE__);
97 count++;
98 printf("F1=%d\tF2=%d\n",f1,f2);
102 ret = SQLCloseCursor(stmt);
103 checkrc(ret,__LINE__);
105 ret = SQLTransact(env,dbc,SQL_COMMIT);
106 checkrc(ret,__LINE__);
108 printf("Total row fetched=%d\n",count);
109 return 0;
113 int main()
115 SQLHENV env;
116 SQLHDBC dbc;
117 SQLHSTMT stmt;
118 SQLRETURN ret;
119 SQLCHAR outstr[1024];
120 SQLSMALLINT outstrlen;
122 // Aloocate an environment handle
123 ret=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&env);
124 checkrc(ret,__LINE__);
126 //we need odbc3 support
127 SQLSetEnvAttr(env,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);
129 //ALLOCATE A Connection handle
130 ret = SQLAllocHandle(SQL_HANDLE_DBC,env,&dbc);
131 checkrc(ret,__LINE__);
133 // connect to the DSN mydsn
134 ret = SQLConnect (dbc,
135 (SQLCHAR *) "DSN=mycsql;MODE=ADAPTER;SERVER=127.0.0.1;PORT=5678;", (SQLSMALLINT) strlen ("DSN=mycsql;MODE=ADAPTER;SERVER=127.0.0.1;PORT=5678;"),
136 (SQLCHAR *) "root",
137 (SQLSMALLINT) strlen ("root"),
138 (SQLCHAR *) "manager",
139 (SQLSMALLINT) strlen (""));
141 if(SQL_SUCCEEDED(ret))
143 printf("\nConnected to the Data Source..\n");
147 else
149 printf("error in connection\n");
150 return 1;
152 ret = SQLFreeHandle(SQL_HANDLE_DBC,dbc);
153 checkrc(ret,__LINE__);
155 ret = SQLFreeHandle(SQL_HANDLE_ENV,env);
156 checkrc(ret,__LINE__);
157 return 1;
161 //******************************************************************
162 // TABLE CREATED
163 ret = SQLAllocHandle(SQL_HANDLE_STMT,dbc,&stmt);
164 checkrc(ret,__LINE__);
166 SQLCHAR table[100]=
167 "CREATE TABLE t1(f1 INT,f2 INT)";
168 ret = SQLPrepare(stmt,table,SQL_NTS);
169 checkrc(ret,__LINE__);
170 ret = SQLExecute(stmt);
171 checkrc(ret,__LINE__);
172 printf("\nTABLE CREATED\n");
173 //****************************************************************
175 InsertTest(env,dbc,stmt);
176 //*****************************************************************
177 int ret1;
178 ret1=FetchTest(env,dbc,stmt);
180 //****************************************************************
181 ret = SQLPrepare(stmt,(unsigned char*)"DROP TABLE t1",SQL_NTS);
182 checkrc(ret,__LINE__);
183 ret = SQLExecute(stmt);
184 checkrc(ret,__LINE__);
185 printf("Table 't1' dropped\n");
186 ret = SQLFreeHandle(SQL_HANDLE_STMT,stmt);
187 checkrc(ret,__LINE__);
189 ret = SQLDisconnect(dbc);
190 checkrc(ret,__LINE__);
192 ret = SQLFreeHandle(SQL_HANDLE_DBC,dbc);
193 checkrc(ret,__LINE__);
195 ret = SQLFreeHandle(SQL_HANDLE_ENV,env);
196 checkrc(ret,__LINE__);
198 return 0;