C++:: 如何使用 sqlite3 insertquery 连接变量
C++:: How to concatenate variables using sqlite3 insertquery
在这里,我试图通过插入查询连接变量(int 和 char), 但是我收到错误,我的错误是错误:类型为"const char*"的操作数无效,并且 "常量字符 [2]"到二进制"运算符+" 伙计们请引导我错在哪里..
**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[]
未终止 null,则可以通知std::string
构造函数它有多长:
std::string s(buf, 2);
相关文章:
- 连接 LPCSTR 变量和文字?
- 正在连接的等待条件变量的线程会发生什么情况?
- 将 int 转换为字符串,然后连接另一个变量以创建完整扩展名,然后将其转换为 const_char*
- 如何在 C 宏中将变量字符串与文字字符串连接起来?
- QT连接:使用lambda表达式重置通过了int变量(怪异)
- 在 c++ 中连接变量
- 动态变量名称构建,连接
- 为什么两个字符串文字可以连接,而不能连接两个字符串变量
- 声明连接变量
- C++中将不同类型的变量列表连接到逗号分隔字符串的最快方法是什么?
- C++:: 如何使用 sqlite3 insertquery 连接变量
- 将字符串变量与整数和文本字符串连接起来的 C++ 字符串流
- 将 int 变量与字符串连接会导致奇怪的输出
- Wt Dbo MySQL 后端连接错误"SET storage_engine=INNODB;":未知的系统变量'storage_engine'
- 除了字符串流,还有其他方法吗?连接一个由多种类型的变量组成的字符串
- 如何将整数变量连接到字符串文字
- GCC如何连接多个c++ std::string变量
- 在函数参数中连接字符串和变量
- 从不同的c++类访问Mysql*连接变量
- Arduino -附加int值到字符串的末尾,用于连接变量