qlite3 - 지정한 이름 중 가장 나이가 많은 줄의 모든 필드 정보를 찾습니다

2229 단어 데이터베이스
#include 
#include 
#include 

static int callback(void *data, int argc, char **argv, char **azColName){
   int i;
   fprintf(stderr, "%s
", (const char*)data); printf("argc: %d
", argc); for (i = 0; i < argc; i++) { printf("%s = %s
", azColName[i], argv[i] ? argv[i] : "NULL"); //printf("count = %s
", argv[i]); if (!strcmp(azColName[i], "AGE")) { printf("cc %s = %s
", azColName[i], argv[i]); } } //printf("count = %s
", argv[0]); printf("
"); return 0; } int main(int argc, char* argv[]) { sqlite3 *db; char *zErrMsg = 0; int rc; char *sql; const char* data = "Callback function called"; /* Open database */ rc = sqlite3_open("test.db", &db); if( rc ){ fprintf(stderr, "Can't open database: %s
", sqlite3_errmsg(db)); exit(0); }else{ fprintf(stderr, "Opened database successfully
"); } #if 0 // insert /* Create SQL statement */ sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " \ "VALUES (17, 'Allen', 0, 'California', 11110.00 );"; /* Execute SQL statement */ rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg); if( rc != SQLITE_OK ){ fprintf(stderr, "SQL error: %s
", zErrMsg); sqlite3_free(zErrMsg); }else{ fprintf(stdout, "Records created successfully
"); } #endif // select /* Create SQL statement */ //sql = "SELECT AGE,COUNT(*) from COMPANY where NAME='Allen'"; sql = "SELECT * from COMPANY where (AGE IN (SELECT MAX(AGE) FROM COMPANY where NAME='Allen'))"; /* Execute SQL statement */ rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg); if( rc != SQLITE_OK ){ fprintf(stderr, "SQL error: %s
", zErrMsg); sqlite3_free(zErrMsg); }else{ fprintf(stdout, "Operation done successfully
"); } sqlite3_close(db); return 0; }

좋은 웹페이지 즐겨찾기