gpt4 book ai didi

c++ - Qt Sql INSERT语句无效

转载 作者:行者123 更新时间:2023-11-28 02:24:45 25 4
gpt4 key购买 nike

我在 Windows 上使用 Qt 4.8。在简单的程序中,INSERT 语句似乎不起作用。基本调试语句不显示任何错误字符串。谷歌帮不了我。所以 similar question存在。

sql.h

#ifndef SQL_H
#define SQL_H
#include<QtSql>
#include<QtGui>
#include<QDebug>
class Unit
{
public:
Unit()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("x");
bool ok = db.open();

QSqlQuery query;
query.exec("create table vidyarthi(section integer(10), unit integer(10), details varchar(500));");


query.exec("insert into vidyarthi values( 1,2,'Hello world');");

qDebug()<<query.lastError().databaseText(); // prints "" means empty
qDebug()<<query.lastError().text(); // prints "" means empty


QSqlTableModel *tmodel=new QSqlTableModel;
tmodel->setTable("vidyarthi");
qDebug()<<tmodel->rowCount(); // prints 0


QTableView *tv=new QTableView;
tv->setModel(tmodel);
tv->show();
}

};

#endif // SQL_H

ma​​in() 函数:-

#include "widget.h"
#include <QApplication>
#include<QtCore>
#include<sql.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);

Unit unit;

return a.exec();
}

我的输出 TableView 实际上只有标题(表格的列)但没有行。

最佳答案

你必须调用QSqlTableModel::select()用数据填充模型。

这在 QSqlTableModel class 的详细描述中进行了解释.

关于c++ - Qt Sql INSERT语句无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31140804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com