参考http://blog.youkuaiyun.com/lynfam/article/details/6194275
文章中备份数据库代码如下:
- QString Cmd = QString("mysqldump.exe")
- QStringList argument;
- argument<<"--add-drop-table"<<"-uUsrName"<<"-pUsrPsd"<<"test";
- QString Path = QString("%1").arg("d://backup.Sql");
- QProcess *poc=new QProcess;
- poc->setStandardOutputFile(Path);
- poc->start(Cmd,argument);
原来是没有找到mysqldump.exe文件的原因
代码修改为:
- QString Cmd = QString("C:\\Program Files\\MySQL Server 5.6\\mysqldump.exe")
- QStringList argument;
- argument<<"--add-drop-table"<<"-uUsrName"<<"-pUsrPsd"<<"test";
- QString Path = QString("%1").arg("d://backup.Sql");
- QProcess *poc=new QProcess;
- poc->setStandardOutputFile(Path);
- poc->start(Cmd,argument);
还原数据的代码如下:
- QString Cmd = QString("C:\\Program Files\\MySQL\\MySQL Server 5.6\\bin\\mysql.exe")
- QStringList argument;
- argument<<"-uUsrName"<<"-pUsrPsd"<<"test";
- QString Path = QString("%1").arg("d://backup.Sql");
- QProcess *poc=new QProcess;
- poc->setStandardInputFile(Path);
- poc->start(Cmd,argument);
- poc->waitForFinished(-1);
- QMessageBox::information(0,"","还原完成!");
问题解决