• 5624阅读
  • 5回复

[sql语句格式]这句有什么问题吗? [复制链接]

上一主题 下一主题
离线houapple
 
只看楼主 倒序阅读 楼主  发表于: 2009-10-16
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
            sprintf(sql, "insert into paper values(%d, \"%s\", \"%s\", \"%s\", \"%s\", %d)", id, type.toStdString().c_str(), content.toStdString().c_str(), solution.toStdString().c_str(), knowledge.toStdString().c_str(), difficulty);
系统提示: 警告: 不能通过‘...’传递有非简单旧数据类型‘class QString’的对象;调用会在运行时中止
上面的type, content, solution, knowledge均为QString类型
离线houapple
只看该作者 1楼 发表于: 2009-10-16
在其他函数中我也用过这中格式
系统并没报错,好奇怪!
离线foxyz

只看该作者 2楼 发表于: 2009-10-16
不知道你为啥要这么写,跟QT有关吗?
如果你是在用QT的SQL Module,那么完全不用使用std::string或者char*来写sql query string
离线houapple
只看该作者 3楼 发表于: 2009-10-16
恩,用来插入数据阿!
我就是使用这种方式来读取和插入数据的。至于其他方式就没怎么尝试了!

因为以前做的是在CLI下面的数据,用的标准 c++和mysql c api 来访问数据库。现在要用QT 做 GUI,
数据操作这部分能用我就没采用QT 的方式
离线XChinux

只看该作者 4楼 发表于: 2009-10-16
SQL语句中的字符串是用单引号扣起来的吧?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线houapple
只看该作者 5楼 发表于: 2009-10-16
恩,是的,可是这样用也可以,好想是有点不规范哈!我得去规范下了。
问题解决了,原来difficulty是QString型的,谢谢大家!
快速回复
限100 字节
 
上一个 下一个