为啥插入SQL时报错?QSqlQuery::value: not positioned on a valid record

weixin_38053367 2019-09-19 02:34:10
void Widget::on_pushButton_clicked(){    QSqlQuery query;query.prepare("insert into student(id,name)"              "values(:id,:name)");query.bindValue(0,5);//id赋值语句query.bindValue(1,"sixth");//name赋值语句query.exec(); //下面输出最后一条记录query.exec("select *form student"); query.last();int id=query.value(0).toInt();QString name=query.value(1).toString();qDebug()<<id<<name; } <connection.h>的程序是: #ifndef CONNECTION_H#define CONNECTION_H#include <QMessageBox>#include <QSqlDatabase>#include <QSqlQuery>static bool createConnection(){    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");    db.setDatabaseName(":memory:");    if (!db.open())    {        QMessageBox::critical(0, qApp->tr("Cannot open database"),            qApp->tr("Unable to establish a database connection."                     ), QMessageBox::Cancel);        return false;    }    QSqlQuery query;    query.exec("create table student (id int primary key,"               "name varchar(20))");//id int primary key 表明id属性是主键    query.exec("insert into student values(0, 'first')");    query.exec("insert into student values(1, 'second')");    query.exec("insert into student values(2, 'third')");    query.exec("insert into student values(3, 'fourth')");    query.exec("insert into student values(4, 'fifth')");    return true;}#endif // CONNECTION_H
...全文
130 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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