- Timestamp:
- 10/22/08 13:11:34 (16 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
vtcross/trunk/src/cbr.c
r20 r21 39 39 40 40 41 //int cbr_callback( void *notUsed, int argc, char **argv, char **azColName)41 //int cbr_callback(float *retvals, int argc, char **argv, char **azColName) 42 42 int callback(void *notUsed, int argc, char **argv, char **azColName){ 43 43 int i; … … 48 48 return 0; 49 49 } 50 51 52 int SearchCallback(float *_retvals, int argc, char **argv, char **azColName){ 53 int i; 54 for(i=0; i<argc; i++){ 55 printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL"); 56 sscanf((argv[i] ? argv[i] : "NULL"), "%f", _retvals+i); 57 } 58 printf("\n"); 59 return 0; 60 } 61 50 62 51 63 … … 66 78 67 79 80 int ExecuteSearchCommand(cbr _cbr, float *_retvals){ 81 int rc; 82 char *zErrMsg = 0; 83 84 printf("command: %s\n", _cbr->command); 85 rc = sqlite3_exec(_cbr->db, _cbr->command, SearchCallback, _retvals, &zErrMsg); 86 //rc = sqlite3_exec(_cbr->db, _cbr->command, SearchCallback, 0, &zErrMsg); 87 if( rc!=SQLITE_OK){ 88 fprintf(stderr, "SQL error: %s\n", zErrMsg); 89 sqlite3_free(zErrMsg); 90 } else{ 91 printf("command executed.\n"); 92 } 93 return rc; 94 } 95 96 97 68 98 cbr cbr_create(char * _filename, char * _tablename, char * _cols[], unsigned int _len) 69 99 { … … 154 184 "==", "!=", ">", ">=", "<", "<="}; 155 185 186 187 // cbr search 156 188 int cbr_search( 157 189 cbr _cbr, … … 163 195 { 164 196 // set up statement 165 166 /*char* zErrMsg = NULL;167 //sqlite3_exec(_cbr->db, argv[2], callback, NULL, &zErrMsg);168 sqlite3_exec(_cbr->db, _cbr->command, cbr_callback, NULL, &zErrMsg);*/169 197 170 198 // generate command … … 198 226 //printf("command: %s\n", _cbr->command); 199 227 ExecuteCommand(_cbr); 228 ExecuteSearchCommand(_cbr, _retvals); 229 printf("search result: "); 230 for (i=0; i<_cbr->num_columns; i++) 231 printf("%f, ",_retvals[i]); 232 printf("\n"); 200 233 201 234 return 0;