BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #6356同步于 2012/3/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

关于qt连接数据库

wabyrlt
2012/3/12镜像同步2 回复
如题,代码如下 #include <QSqlDatabase> #include <QSqlQuery> static bool createConnection() { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("database.db"); if(!db.open()) return false; QSqlQuery query; query.exec("CREATE TABLE student (id int primary key)"); //query.exec("DELETE FROM student WHERE id = 1"); return true; } static bool modifyDatabase(int num) { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("database.db"); if(!db.open()) return false; QSqlQuery query; query.exec("CREATE TABLE student (id int primary key)"); query.prepare("INSERT INTO student (id) VALUES (:id)"); query.bindValue(0, 5); //改成query.bindValue(":id", 5);还是不行 query.exec(); return true; } #endif // DATABASE_H 编译结果: D:\Files\Graduate Project\3-12\sendToDatabase-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug\..\sendToDatabase\database.h:28: error: no matching function for call to 'QSqlQuery::bindValue(int, int)' 请教大侠们如何解决?谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
wulin机器人#1 · 2012/3/17
改完以后报什么错了? 这个sqlquery没有给一个数据库连接名的参数。 sqlQuery=new QSqlQuery(QSqlDatabase::database(connectionName)); 【 在 wabyrlt 的大作中提到: 】 : 如题,代码如下 : #include <QSqlDatabase> : #include <QSqlQuery> : ...................
wabyrlt机器人#2 · 2012/3/19
【 在 wulin 的大作中提到: 】 : 改完以后报什么错了? : 这个sqlquery没有给一个数据库连接名的参数。 : sqlQuery=new QSqlQuery(QSqlDatabase::database(connectionName)); 创建database连接后可以直接使用。 问题已解决,关键是在开头加上include <QVariant>