由于Qt中缺少Mysql对应的驱动,因此无法直接进行连接,在网站上看过许多帖子都是修改Qt中源码来达到目的,但是本人尝试N多次之后依旧没有连接成功,最后选择采用ODBC的方式进行连接。一次就成功了。先将步骤记录如下:
一、下载、安装、配置ODBC
进入ODBC官网MySQL :: Download Connector/ODBC。下载红色框住版本。因为Qt Creator 只能运行Mingw32的,所以为了连接成功,选择32位版本的。
下载完之后安装一路next。
安装完成之后,在搜索框搜索ODBC,选择32位的打开。
点击添加按钮,选择红色框内任一版本
按照图中示例填写
填写完点击Test进行测试
c测试成功。点击OK退出。
然后点击确认退出。
二、在QT中进行连接。
在QT中创建工程,完成之后在 .pro 文件中添加 QT += core sql
然后在main.cpp中添加语句。
//配置数据库
QSqlDatabase qdb = QSqlDatabase::addDatabase("QODBC");
qdb.setHostName("127.0.0.1");
//qdb.setHostName("localhost");
qdb.setPort(3306);
qdb.setDatabaseName("Test");//刚才在ODBC中创建的Date source name,不是Datebase
qdb.setUserName("root");//用户名
qdb.setPassword("123456");//密码
//数据库连接测试
if(qdb.open()){
QMessageBox::information(nullptr,"infor","打开成功");
}else {
QMessageBox::information(nullptr,"infor","打开成功");
}
运行程序,显示连接成功