[英]How to insert any string in sqlite3 in c
我必須在sqlite數據庫中插入一個字符串我的命令..
Err=sqlite_exec(DB, "create table tbl5(TEXT varchar(100));", xCallback, (void*)"First Test", &ErrMsg);
Err=sqlite_exec(DB, "insert into tbl5 values ('some string');", xCallback, (void*)"First Test", &ErrMsg);
工作正常,但當我想把s="some string"
即
Err=sqlite_exec(DB, "insert into tbl5 values (s);", xCallback, (void*)"First Test", &ErrMsg);
那么這是不行的所以如何添加變量然后它是不工作所以如何在sqlite數據庫中插入變量謝謝你
除了已經給出的建議之外,您還可以使用帶有綁定參數的預准備語句(如果您打算使用不同的參數重復多次語句,這也很有用)。 有關更多信息,請參閱sqlite3_prepare_v2
和sqlite3_bind_*
sqlite3_stmt *stmt;
// Create a prepared statement.
Err = sqlite3_prepare_v2(DB, "insert into tbl5 values (?)", -1, &stmt, NULL);
if (Err != SQLITE_OK)
{
//...
}
// Bind our string to the statement.
Err = sqlite3_bind_text(stmt, 1, "some string", -1, SQLITE_TRANSIENT);
if (Err != SQLITE_OK)
{
//...
}
// Execute the statement.
Err = sqlite3_step(stmt);
if (Err != SQLITE_DONE)
{
//...
}
// Free the prepared statement.
Err = sqlite3_finalize(stmt);
您可以使用sprintf
創建格式化的字符串。
char s[20] = "some string";
char query[100];
sprintf(query, "insert into tbl5 values (%s);", s);
這取決於你確保query
足夠大。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.