gpt4 book ai didi

C++::如何使用 sqlite3 insertquery 连接变量

转载 作者:行者123 更新时间:2023-11-28 03:34:43 28 4
gpt4 key购买 nike

我在这里尝试通过 insertQuery 连接变量(int 和 char), 但我收到错误,我的错误是错误:'const char*' 类型的无效操作数和 'const char [2]' 到二进制 'operator+' 伙计们,请指导我哪里错了..

     **string insertQuery= "insert into items   (user_id,session_id,user_sessionname,buffer)values("
+ user + "," + session + ",'" + usrname + "','" + buff + "')";

sqlite3_stmt *insertStmt;
cout << "Creating Insert Statement" << endl;
sqlite3_prepare(db, insertQuery.c_str(), insertQuery.size(), &insertStmt, NULL);
cout << "Stepping Insert Statement" << endl;
if (sqlite3_step(insertStmt) != SQLITE_DONE) cout << "Didn't Insert Item!" << endl;**

最佳答案

(假设空终止 char* 或空终止 char[] )

推荐使用 std::ostringstream ( #include <sstream> ) 构建 SQL 查询:

std::ostringstream s;
s << "insert into items "
<< user
<< ','
<< session;

const std::string insertQuery(s.str());

也可以通过创建临时 std::string 来实现串联序列中的对象:

const std::string insertQuery= 
std::string("insert into items ... values(")
+ std::string(user)
+ std::string(","); // etc

如果 char*char[]不是空终止你可以通知 std::string构造函数有多长:

std::string s(buf, 2);

关于C++::如何使用 sqlite3 insertquery 连接变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11324806/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com