Qt-Sql INSERT语句无效
Qt Sql INSERT statement has no effect
我在Windows上使用Qt 4.8。在这个简单的程序中,INSERT语句似乎不起作用。基本调试语句不显示任何错误字符串。谷歌帮不了我。在类似的问题上存在。
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
main()函数:-
#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类的详细描述中进行解释。
相关文章:
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 无法访问嵌套类.类的使用无效
- 我的简单if-else语句是如何无法访问的代码
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么是0;C++中的有效语句
- Insert函数不适用于2 if语句C++
- c++:if 语句无法正常运行,并继续执行无效输出
- 如何使用libpq库和C 绑定无效的语句
- 获取控制权到达非无效函数警告的末尾,尽管我在 th 函数中有返回语句
- 如何引用无效的输入,然后重新输入和如果其他语句
- 提示再次运行程序:修复他们是否输入了无效语句
- switch 语句中从 'const char*' 到 'char' 的转换无效
- C++将向量传递给重载类——有些调用语句有效,有些则无效
- 在 && 语句的后半部分进行无效操作是否安全?
- 以下C++模板程序中的无效语句是什么
- 警告:语句无效 (C++)
- 如何在开关语句中更改指针。错误:从'const char*'到'char'的转换无效
- Qt-Sql INSERT语句无效
- 为什么if语句无效