美文网首页
QT sql的备份与恢复

QT sql的备份与恢复

作者: 五长生 | 来源:发表于2017-12-30 22:22 被阅读151次

    本质上仍然是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("恢复成功"));
    }
    
    

    相关文章

      网友评论

          本文标题:QT sql的备份与恢复

          本文链接:https://www.haomeiwen.com/subject/gqgngxtx.html