C++ sqlite3如何知道sql语句执行成功?

问题描述:

C++ sqlite3如何知道sql语句执行成功?C++ sqlite3如何知道sql语句执行成功?

我试图插入一条记录与sqlite3的

我想知道如何知道它的成功

string sqlstatement = "INSERT INTO abe_account (name,department,password) VALUES (" 
+quotesql(name) + "," 
+quotesql(department) + "," 
+quotesql(password) + ");"; 

    if (sqlite3_open("abeserver.db", &db) == SQLITE_OK) 
    { 
    sqlite3_prepare(db, sqlstatement.c_str(), -1, &stmt, NULL);//preparing the statement 
    sqlite3_step(stmt);//executing the statement 
     } 
    else 
    { 
     cout << "Failed to open db\n"; 
    } 

    sqlite3_finalize(stmt); 

我们怎样从sqlite3的成功信号时,一行被成功添加状或一行被成功删除等,并赋值为一个布尔值或一个字符串

sqlite3_step()有一个整数形式的返回值的数量。代码0表示一个语句的成功执行。你可以找到的代码here

其余我们如何..该值赋值给一个变量

if (! sqlite3_step(stmt)) cout << "it worked" << endl 
+0

Python? :)'if(!sqlite3_step(stmt))cout 2012-08-14 15:31:10

+0

@ Component10对不起,误解了一秒钟。谢谢 – 2012-08-14 15:54:32

你也可以做

if(sqlite3_step(stmt)!=SQLITE_DONE) 
{ 
    error handling here 
} 

而且这里的一些文档on sqlite3常量:Result Codes