- 提示QMYSQL driver not loaded
原因:驱动没有加载。
解决:增加驱动。如图。 - 提示
QMYSQL 1049 Unknown database
database open error! QSqlError(“1049”, “QMYSQL: Unable to connect”, “Unknown database ‘stu’”)
没有数据库文件。
将.sql文件拷贝到exe工作目录是没有用的。
解决: 如图,创建qmysql数据库文件:
使用:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
//db.setHostName("127.0.0.1");
db.setHostName("localhost");
db.setPort(3306);
db.setUserName("root");
db.setPassword("*zd#xt!");
// QString sqlname= QCoreApplication::applicationDirPath();
//qDebug()<<" sql path:"<< sqlname;
QString sqlname = “stuaaaaa”;
#if 0
QFile sqlnamefile(sqlname);
if(sqlnamefile.exists())
{
qDebug() << “database file exist!”;
}
else
{
qDebug() << “error database file NOT exist!”;
}
#endif
db.setDatabaseName(sqlname);
if(db.open())
{
qDebug() << "database is established!";
createtable();
return;
}
else
{
qDebug() << "database open error!" << db.lastError();
return;
}
- mysql数据库导出
我们经常希望将mysql数据库导出保存,方法如下。
window下
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u dbuser -p dbname > dbname.sql
然而,出现了找不到mysqldump 命令的如下错误:
mysqldump : 无法将“mysqldump”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
此时,要将mysqldump 路径加入到环境变量。
先查看路径:
再加入到环境变量:
加入成功是这样:
然后执行命令:
mysqldump -u dbuser -p dbname > dbname.sql
从图中可以看出, 必须要在系统命令行中执行。
按照图中执行之后,可以在d盘下面看到导出的.sql了.
- mysql数据库导出2
因为按照上面mysqldump 的方式导出数据库在用source命令导入时出现错误(错误为:[ERR] 1064 - You have an error in your SQL syntax。。。。)。
因此,第二种导出数据库方式为Navicat for MySQL.
打开Navicat for MySQL。新建连接,写入安装 MySQL时配置的用户名密码。即可查看本机所有的 MySQL数据库。
选中要导出的数据库,按照如图步骤导出:
至此导出完成。
- 导入数据库。
已导出的数据库往往有我们预先配置好的信息,如用户名密码等。我们在部署程序时需将其导入。
导入用source 命令。
步骤:
a.进入mysql数据库控制台
b.mysql>use 数据库, 例如: use test9876
c.导入:mysql>source d:/mmm.sql
导入之后,我们通过Navicat for MySQL,进入示例的test9876数据库, 可以发现数据已成功导入。
至此,mysql数据库在登陆,导入,导出过程中的问题已经全部解决。
源码下载链接1:
链接:https://gitee.com/zzzbbb001_admin/QMYSQL_studentInfo
推荐开发环境:
QT 5.9以上;
QT creator 5.14
mingw32,或 MSVC2015及以上
windows10
推荐运行环境:
windows10
如要正确运行,需要修改:
1.代码中MYSQL的登陆密码
2.所使用的数据库名称
默认登陆用户名密码:
root
root
里面附送的数据库已设置好了若干密码,可以按照上述方法导入。