数据库创建代码
#pragma once
#ifndef CONNECTION_H
#define CONNECTION_H
#include<QtSql>
#include<qdebug.h>
#include<QSqlDatabase>
static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setHostName("Andy");
db.setDatabaseName("testData.db");
db.setUserName("Andy");
db.setPassword("123456");
if (!db.open())
{
qDebug() << "创建数据库时失败!";
return false;
}
QSqlQuery query(db);
/*query = QSqlQuery::QSqlQuery(db);*/
// 创建类型表
query.exec("create table type(id varchar primary key, name varchar)");
query.exec(QString("insert into type values(0,请选择类型)"));
query.exec(QString("insert into type values(01,电视)"));
query.exec(QString("insert into type values(02,空调)"));
return true;
}
#endif // !CONNECTION_H
组件关联数据库代码
Widget::Widget(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
ui.stackedWidget->setCurrentIndex(0);
QSqlQueryModel *typeModel = new QSqlQueryModel(this);
typeModel->setQuery("select name from type");
ui.sellTypeComboBox->setModel(typeModel);
}
主函数
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
if (!createConnection())
return 0;
Widget w;
w.show();
return a.exec();
}
这个comboBox却没有出现数据库表中的数据项