返回信息流如题,代码如下
#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)'
请教大侠们如何解决?谢谢!
这是一条镜像帖。来源:北邮人论坛 / database / #6356同步于 2012/3/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
关于qt连接数据库
wabyrlt
2012/3/12镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
改完以后报什么错了?
这个sqlquery没有给一个数据库连接名的参数。
sqlQuery=new QSqlQuery(QSqlDatabase::database(connectionName));
【 在 wabyrlt 的大作中提到: 】
: 如题,代码如下
: #include <QSqlDatabase>
: #include <QSqlQuery>
: ...................
【 在 wulin 的大作中提到: 】
: 改完以后报什么错了?
: 这个sqlquery没有给一个数据库连接名的参数。
: sqlQuery=new QSqlQuery(QSqlDatabase::database(connectionName));
创建database连接后可以直接使用。
问题已解决,关键是在开头加上include <QVariant>