首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接Mysql和qt?

问连接Mysql和qt?
EN

Stack Overflow用户
提问于 2011-08-07 02:13:17
回答 3查看 12.9K关注 0票数 3

我在用qt连接我正在构建的程序时遇到了一些困难。一旦我这样做了,我如何让数据库与表小部件一起工作?

我可能应该让你知道,除了用libreoffice base创建数据库之外,我不知道从哪里开始。

EN

回答 3

Stack Overflow用户

发布于 2013-01-02 00:01:58

Qt提供了模型/视图框架,这是一种非常灵活的工具,用于在表、树或列表中显示数据。所以你需要使用的模型是QSqlTableModel。

首先创建一个QSqlDatabase实例,然后连接到数据库

代码语言:javascript
复制
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");

然后创建模型

代码语言:javascript
复制
QSqlTableModel *model = new QSqlTableModel(parent,db);
model->setTable("students");
model->select(); //< fetch data

最后告诉表显示此模型中的数据

代码语言:javascript
复制
QTableView *table = new QTableView;
table->setModel(model);
票数 3
EN

Stack Overflow用户

发布于 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即可。祝你好运,玩得开心!

票数 1
EN

Stack Overflow用户

发布于 2014-09-09 21:39:50

  1. add Qt +=Core sql into .pro
  2. download libmysq.dll and add to Qt-> Qt 5.3.0 -> mingw482_32 -> Plugins -> sqldriver
  3. 创建新的QT控制台文件
  4. 将此行添加到main.cpp

<代码>G29

。

代码语言:javascript
复制
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();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6968700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档