我在用qt连接我正在构建的程序时遇到了一些困难。一旦我这样做了,我如何让数据库与表小部件一起工作?
我可能应该让你知道,除了用libreoffice base创建数据库之外,我不知道从哪里开始。
发布于 2013-01-02 00:01:58
Qt提供了模型/视图框架,这是一种非常灵活的工具,用于在表、树或列表中显示数据。所以你需要使用的模型是QSqlTableModel。
首先创建一个QSqlDatabase实例,然后连接到数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("my_database");
db.setUserName("username");
db.setPassword("password");
if(!db.open())
QMessageBox::warning(this,"Error","Unable to connect to the database");然后创建模型
QSqlTableModel *model = new QSqlTableModel(parent,db);
model->setTable("students");
model->select(); //< fetch data最后告诉表显示此模型中的数据
QTableView *table = new QTableView;
table->setModel(model);发布于 2011-08-07 06:12:08
在Qt的帮助系统中,查看Examples,转到SQL,然后选择Table Model Example。你会发现在Qt中使用MySQL并不难。(您可能需要手动编译qtmysql驱动程序;在我的系统上,它是在/QtSources/4.7.3/src/plugins/sqldrivers/mysql/mysql.pro.中只需qmake/make/make install即可。祝你好运,玩得开心!
发布于 2014-09-09 21:39:50
<代码>G29
。
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setUserName("root");
db.setPassword("");
db.setDatabaseName("sim");
if(db.open())
{
qDebug() << "connected " << db.hostName();
}else{
qDebug() << "Connection FAILED.";
}
return a.exec();
}https://stackoverflow.com/questions/6968700
复制相似问题