QT 不能写入mysql数据库的问题

大卫无限 2011-08-08 09:01:12
query.exec("INSERT INTO `test`.`test` (`id`, `num`) VALUES (4, 633)");
这样写就没有问题....



而像下面这样写就不行
query.prepare("INSERT INTO `test`.`test` (`id`, `num`) VALUES (?, ?);");
query.addBindValue(5);
query.addBindValue(222);
query.exec();
qDebug() << query.lastError().text();
或者这样也不行
query.prepare("INSERT INTO `test`.`test` (`id`, `num`) VALUES (:id, :num);");
query.bindValue(":id", 6);
query.bindValue(":num", 111);
query.exec();

mysql中是int类型的, 写入的时候没报错的,但是写入的数据,是0,id和num都是0....

求哪位好心人帮助...
...全文
284 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpio 2011-08-08
  • 打赏
  • 举报
回复
如果要带名称绑定,试试QT的示例:

QSqlQuery query;
query.prepare("INSERT INTO person (id, forename, surname) "
"VALUES (:id, :forename, :surname)");
query.bindValue(":id", 1001);
query.bindValue(":forename", "Bart");
query.bindValue(":surname", "Simpson");
query.exec();
cpio 2011-08-08
  • 打赏
  • 举报
回复
如果有命名绑定,参考一下QT的示例:

QSqlQuery query;
query.prepare("INSERT INTO person (id, forename, surname) "
"VALUES (:id, :forename, :surname)");
query.bindValue(":id", 1001);
query.bindValue(":forename", "Bart");
query.bindValue(":surname", "Simpson");
query.exec();
donwmufromdying 2011-08-08
  • 打赏
  • 举报
回复

query.prepare("INSERT INTO `test`.`test` (`id`, `num`) VALUES (?, ?)");
query.addBindValue(5);
query.addBindValue(222);
query.exec();


至于楼主你称没成功,我反正是成功了。 你把分号去掉试试。SQL用分号来向服务器提交作业

16,214

社区成员

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

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