求助一个sql的写法!

zhenzhouxingxing 2010-11-01 09:59:15
int i = 1;
QString qs = "qqqqqq";
QByteArray qa;//qa已赋值,我的字段有一个blob字段
QString sql = "insert into table(id,name,content) values ()";???????

然后调用SqlQuery的exec(sql)

上面那个sql该怎么写呀?就是不想用addBindValue这样的函数,而是直接将参数写到sql中!
...全文
60 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhenzhouxingxing 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lefttime 的回复:]
调用QString的arg动态设置参数值:

C/C++ code
......
int id = 1;
QString name = "qqqqqq";
QByteArray content;
QString sql = QString("insert into table(%1,%2,%3) values ()").arg(id ).arg(name).arg(content);……
[/Quote]
应该是QString("insert into table(id,name,content) values (%1,%2,%3)").arg(id ).arg(name).arg(content)吧,这个我试过了,不行啊
一介布衣萧萧 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhenzhouxingxing 的回复:]

引用 1 楼 brantyou 的回复:
把参数转成字符串然后和SQL命令组合成一个新的字符串,再放到exec里执行就可以了。

哥,能具体写一下吗?
[/Quote]
这里是个例子

QSqlQuery query;
QString tmpStr;
QString exeTmpStr;
exeTmpStr = "select FunctionId,OrderId,FunctionName,FunctionState,DeviceInterface from FunctionTable"
" where FunctionId = ";
tmpStr.setNum(id);
exeTmpStr += tmpStr;
query.exec(exeTmpStr);

zhenzhouxingxing 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 brantyou 的回复:]
把参数转成字符串然后和SQL命令组合成一个新的字符串,再放到exec里执行就可以了。
[/Quote]
哥,能具体写一下吗?
lefttime 2010-11-01
  • 打赏
  • 举报
回复
调用QString的arg动态设置参数值:
......
int id = 1;
QString name = "qqqqqq";
QByteArray content;
QString sql = QString("insert into table(%1,%2,%3) values ()").arg(id ).arg(name).arg(content);
......
一介布衣萧萧 2010-11-01
  • 打赏
  • 举报
回复
把参数转成字符串然后和SQL命令组合成一个新的字符串,再放到exec里执行就可以了。

16,215

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧