如何使SQLite在我的C ++项目中工作?

时间:2018-07-09 14:19:36

标签: c++ database sqlite

我正在Linux C ++项目中尝试使用SQLite,并且已经使用apt-get sqlite3安装了SQLite。现在,我需要将SQLite包含在我的项目中,但是我不知道该怎么做。

如何使SQLite包含在我的项目中?

如果有帮助,我正在使用CLion。

1 个答案:

答案 0 :(得分:0)

这是一个简单的C程序,它演示了如何使用C / C ++接口连接SQLite。数据库的名称由第一个参数指定,第二个参数是要针对该数据库执行的一个或多个SQL语句。这里要注意的函数调用是第22行的sqlite3_open()打开数据库的调用,第28行的sqlite3_exec()对数据库执行SQL命令,第33行的sqlite3_close()关闭数据库连接。

 01  #include <stdio.h>
 02  #include <sqlite3.h>
 03  
 04  static int callback(void *NotUsed, int argc, char **argv, char **azColName){
 05    int i;
 06    for(i=0; i<argc; i++){
 07      printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
 08    }
 09    printf("\n");
 10    return 0;
 11  }
 12  
 13  int main(int argc, char **argv){
 14    sqlite3 *db;
 15    char *zErrMsg = 0;
 16    int rc;
 17  
 18    if( argc!=3 ){
 19      fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
 20      return(1);
 21    }
 22    rc = sqlite3_open(argv[1], &db);
 23    if( rc ){
 24      fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
 25      sqlite3_close(db);
 26      return(1);
 27    }
 28    rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
 29    if( rc!=SQLITE_OK ){
 30      fprintf(stderr, "SQL error: %s\n", zErrMsg);
 31      sqlite3_free(zErrMsg);
 32    }
 33    sqlite3_close(db);
 34    return 0;
 35  }