我现在用SQLite可以这样向数据库插入数据C/C++ code    sqlite3 *db=NULL; char *zErrMsg = 0; int rc; rc = sqlite3_open("../Data.db3", &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件 if ( rc != SQLITE_OK ) { fprintf(stderr, "无法打开数据库: %s", sqlite3_errmsg(db)); return; } const char *sSQL = "INSERT INTO tb_test VALUES(NULL,'zhuchao1',1,2,2,2,2,1);"; sqlite3_exec( db, sSQL, 0, 0, &zErrMsg);
但是我现在想把其中的一些值替换成变量,请问一下需要怎么处理?我想要的结果类似于C/C++ code    int x=2; const char *sSQL = "INSERT INTO tb_test VALUES(NULL,'zhuchao1',1,x,2,2,2,1);";
这个不知道 要怎么处理 有知道的请指点一下

解决方案 »

  1.   

    上面代码乱了 我再发一遍sqlite3 *db=NULL; 
    char *zErrMsg = 0; 
    int rc; rc = sqlite3_open("../Data.db3", &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件 
    if ( rc != SQLITE_OK ) 
    { fprintf(stderr, "无法打开数据库: %s", sqlite3_errmsg(db));
     return; 

    const char *sSQL = "INSERT INTO tb_test VALUES(NULL,'zhuchao1',1,2,2,2,2,1);"; sqlite3_exec( db, sSQL, 0, 0, &zErrMsg);上面的可以插入,但如果换成下面这种就不行  int x=2;
     const char *sSQL = "INSERT INTO tb_test VALUES(NULL,'zhuchao1',1,x,2,2,2,1);";
      

  2.   

    CString sSQL;
    sSQL.Format("INSERT INTO tb_test VALUES(NULL,'zhuchao1',1,%d,2,2,2,1", x);
      

  3.   

    CString str;
    str.Format(_T("INSERT INTO tb_test VALUES(NULL,'zhuchao1',1,%d,2,2,2,1);"),x);
    const char *sSQL = str.GetBuffer(0);