QT 通过ODBC连接数据库的好方法:
效果图:
PWD使用自己的,我的这是自己的,所以你用不了。
以下是格式。
// 1. 设置数据库连接
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");// 建立和QMYSQL数据库的连接
// 设置数据库连接名称(DSN),或者你也可以使用连接字符串来指定服务器和数据库
db.setDatabaseName(""
"Driver={MySQL ODBC 8.0 Unicode Driver};"
"Server=mysql.sqlpub.com:3306;"
"Database=huangjin;"
"UID=laocooon;"
"PWD=fc12f7aa5215e8e0a;"
);// 1. 设置数据库连接 QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");// 建立和QMYSQL数据库的连接 // 设置数据库连接名称(DSN),或者你也可以使用连接字符串来指定服务器和数据库 db.setDatabaseName("" "Driver={MySQL ODBC 8.0 Unicode Driver};" "Server=mysql.sqlpub.com:3306;" "Database=huangjin;" "UID=laocooon;" "PWD=fc12f7aa5215e8e0a;" );
#include "mainwindow.h" #include <QApplication> #include <QWidget> #include <QTableView> #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlTableModel> #include <QVBoxLayout> #include <QMessageBox> int main(int argc, char *argv[]) { QApplication a(argc, argv); // 创建主窗体 QWidget window; // 1. 设置数据库连接 QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");// 建立和QMYSQL数据库的连接 // 设置数据库连接名称(DSN),或者你也可以使用连接字符串来指定服务器和数据库 db.setDatabaseName("" "Driver={MySQL ODBC 8.0 Unicode Driver};" "Server=mysql.sqlpub.com:3306;" "Database=huangjin;" "UID=laocooon;" "PWD=fc12f7aa5215e8e0a;" ); if (!db.open()) { QMessageBox::critical(&window, "数据库连接失败", "无法连接到数据库!"); return -1; } // 2. 使用 QSqlTableModel 来查询表数据 QSqlTableModel model; model.setTable("stu"); model.setEditStrategy(QSqlTableModel::OnManualSubmit); if (!model.select()) { QMessageBox::critical(&window, "查询失败", "无法加载数据!"); return -1; } // 3. 创建 QTableView 并将它添加到布局中 QTableView *view = new QTableView(&window); // 将窗体设置为父控件 view->setModel(&model); // 设置模型 view->resize(800, 600); // 设置大小 // 4. 创建布局,并将 QTableView 加入其中 QVBoxLayout *layout = new QVBoxLayout(&window); layout->addWidget(view); // 设置窗体标题和大小 window.setWindowTitle("数据库表数据"); window.resize(800, 600); // 显示窗体 window.show(); return a.exec(); }