Qt 採用QProcess 備份及還原數據庫

參考http://blog.csdn.net/lynfam/article/details/6194275

文章中備份數據庫代碼如下:

  1. QString Cmd = QString("mysqldump.exe")  
  2. QStringList argument;  
  3. argument<<"--add-drop-table"<<"-uUsrName"<<"-pUsrPsd"<<"test";  
  4. QString Path = QString("%1").arg("d://backup.Sql");  
  5. QProcess *poc=new QProcess;  
  6. poc->setStandardOutputFile(Path);  
  7. poc->start(Cmd,argument); 
實驗不成功,輸出的文件0字節;

原來是沒有找到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); 

還原數據的代碼如下:

  1. QString Cmd = QString("C:\\Program Files\\MySQL\\MySQL Server 5.6\\bin\\mysql.exe")  
  2. QStringList argument;  
  3. argument<<"-uUsrName"<<"-pUsrPsd"<<"test";  
  4. QString Path = QString("%1").arg("d://backup.Sql");  
  5. QProcess *poc=new QProcess;  
  6. poc->setStandardInputFile(Path);  
  7. poc->start(Cmd,argument); 
  8. poc->waitForFinished(-1);
  9. QMessageBox::information(0,"","還原完成!");

問題解決


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章