Changeset ba2393a in tol
- Timestamp:
- Nov 9, 2015, 5:17:08 PM (11 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- 9ae89b6
- Parents:
- 9637442
- File:
-
- 1 edited
-
tol/dbdrivers/libtolsqlite.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tol/dbdrivers/libtolsqlite.c
r9637442 rba2393a 50 50 int num_rows; 51 51 int current_tuple; 52 int result_step; 52 53 } sqlited; 53 54 … … 93 94 dbd->num_rows = 0; 94 95 dbd->current_tuple = 0; 96 dbd->result_step = 0; 95 97 96 98 rc = sqlite3_open_v2(database, &(dbd->conn), … … 171 173 if(ok!=SQLITE_OK) 172 174 { // Error 175 stdOutWriter("\nERROR: [sqlite_OpenQuery] \n"); 173 176 stdOutWriter(sqlite3_errmsg(dbd->conn)); 177 stdOutWriter("\nquery:\n"); 178 stdOutWriter(query); 179 stdOutWriter("\n"); 174 180 return 0; 175 181 } 176 dbd->num_cols = sqlite3_ data_count(dbd->result);182 dbd->num_cols = sqlite3_column_count(dbd->result); 177 183 return 1; 178 184 } … … 185 191 DLLEXPORT(int) sqlite_ExecQuery(sqlited *dbd, const char *query) 186 192 { 187 const char *pzTail=0; 188 int ok = sqlite3_prepare_v2( 189 dbd->conn, /* Database handle */ 190 query, /* SQL statement, UTF-8 encoded */ 191 strlen(query), /* Maximum length of zSql in bytes. */ 192 &(dbd->result), /* OUT: Statement handle */ 193 &pzTail /* OUT: Pointer to unused portion of zSql */ 193 char *errmsg=0; 194 int ok_exec; 195 ok_exec = sqlite3_exec( 196 dbd->conn, /* An open database */ 197 query, /* SQL to be evaluated */ 198 NULL, /* Callback function */ 199 NULL, /* 1st argument to callback */ 200 &errmsg /* Error msg written here */ 194 201 ); 195 if(ok !=SQLITE_OK)202 if(ok_exec!=SQLITE_OK) 196 203 { // Error 197 stdOutWriter(sqlite3_errmsg(dbd->conn)); 204 stdOutWriter("\nERROR: [sqlite_ExecQuery] \n"); 205 stdOutWriter(errmsg); 206 stdOutWriter("\nquery:\n"); 207 stdOutWriter(query); 208 stdOutWriter("\n"); 198 209 return 0; 199 210 } … … 207 218 DLLEXPORT(int) sqlite_GetNext(sqlited *dbd) 208 219 { 209 i nt ok = sqlite3_step(dbd->result);210 if(ok!=SQLITE_DONE) {211 stdOutWriter(sqlite3_errmsg(dbd->conn));212 return(0);213 }214 return( 1);220 if(dbd->result_step==SQLITE_DONE) { return(0); } 221 dbd->result_step = sqlite3_step(dbd->result); 222 if(dbd->result_step==SQLITE_ROW) { return(1); } 223 if(dbd->result_step==SQLITE_DONE) { return(1); } 224 stdOutWriter(sqlite3_errmsg(dbd->conn)); 225 return(0); 215 226 } 216 227 … … 250 261 for(n=0;name[n];n++) { name[n] = tolower(name[n]); } 251 262 if((n>3) & (name[0]=='d') & (name[1]=='t') & (name[2]=='_')) 263 { dbType = TypeDBDate; } 264 else if((n>3) & (name[0]=='d') & (name[1]=='d') & (name[2]=='_')) 252 265 { dbType = TypeDBDate; } 253 266 else if((type==SQLITE_INTEGER) || (type==SQLITE_FLOAT))
Note: See TracChangeset
for help on using the changeset viewer.
