QT sql的备份与恢复

本质上仍然是sql语句,备份生成bak文件,然后再回复,但是要注意两点。
1、在恢复的时候ssms必须处于关闭状态
2、其他的时候也要注意,QT的路径需要改个符号才可以认出来。
\ 改为 /
举个例子:
"C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.1\bin\pycharm64.exe"
这在qt里找不着。
要这样:
"C:/Program Files/JetBrains/PyCharm Community Edition 2017.3.1/bin/pycharm64.exe"

image.png
image.png
void Detail::backup()//备份
{
     QFileDialog fd;
    QString  s =fd.getSaveFileName(this,"文件保存",
                                   "D:/4.23 ____/",
                                     "*.bak");
    QSqlQuery query;
    if(!query.exec("backup database device1 to disk='"+s+"'"))
   QMessageBox::information(this, tr("err"),tr("数据库错误: %1").arg(query.lastError().text()));
}
void Detail::restore()//恢复
{
    QFileDialog fd;
   QString  s =fd.getOpenFileName(this,"文件打开",
                                  "D:/4.23 ____/",
                                    "*.bak");
    QSqlQuery query;
    if(!query.exec("use master   restore  database device1 from disk='" +s+"' WITH REPLACE"))
    QMessageBox::information(this, tr("err"),tr("数据库错误: %1").arg(query.lastError().text()));
        else
     QMessageBox::information(this, tr("成功"),tr("恢复成功"));
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容