denphi 怎么把SQL里面的后台数据库备份出来,涉及到哪几个控件,控件属性有什么要求
  以及个控件主要代码

解决方案 »

  1.   

     ADOConnection1.Execute('Backup database '+dbname+' To Disk= '''+路径+'\'+名称+'.MC''');
      

  2.   

    数据库备份,还是设成自动定时备份好了,与delphi无关了
    最多是到备份保存的目录去取最新的或者删过时的
      

  3.   

    用SQL自带的备份就可以了,而且SQLServer还支持定时备份和热备份
      

  4.   

    SQL 自己带有自动备份功能的,配好自动备份好,记得启动SQL 代理。
      

  5.   

    在DELPHI里面做调用SQL的备份功能,直观一点,SQL本身也可以备份的,但是大部份人对SQL并不是很了解,再说是,如果SQL里面有差异备份的话有些数据是恢复不了的,因此建议在DELPHI软件里面做个直观的备份按钮,方便用户。
      

  6.   

    sql.add('Backup database '+dbname+' To Disk= '''+路径+'\'+名称+'.MC''');
      

  7.   

     //备份当前数据库
      sqlcom.CommandText := 'backup database ' + shjkmch + ' to disk= ' + quotedstr(ljedit.Text);
      sqlcom.Execute;
      

  8.   

    procedure Tsys_datamodule.DataBaseBack;
    var
      FileName:string;
      ADOQ:TADOQuery;
    begin
      ADOQ:=TADOQuery.Create(nil);
      ADOQ.Connection:=sys_datamodule.con1;
      if MessageDlg('你確定要備份數據庫嗎?',mtInformation,[mbYes,mbNo],0)=idyes then
      begin
        try
          if SaveDialog1.Execute then
          begin
            FileName:=SaveDialog1.FileName;
            if (Copy(FileName,Length(FileName)-3,4)<>'.BAK') or (Copy(FileName,Length(FileName)-3,4)<>'.bak') then
              FileName:=FileName+'.BAK';
            ADOQ.SQL.Text:='Use Master Backup Database MES to Disk='''+ FileName+''' Use MES';
            ADOQ.ExecSQL;
            MessageDlg('數據庫備份成功!',mtInformation,[mbOK],0);
          end;
        except
          MessageDlg('數據庫備份失敗!',mtInformation,[mbOK],0);
          Exit;
        end;
      end;
    end;procedure Tsys_datamodule.RestoreBaseBack;
    var
      StrFile:string;
      ADOQ:TADOQuery;
    begin
      ADOQ:=TADOQuery.Create(nil);
      ADOQ.Connection:=sys_datamodule.con1;
      if MessageDlg('你確定要還原數據庫嗎?',mtInformation,[mbYes,mbNo],0)=idyes then
      begin
        try
          if OpenDialog1.Execute then
          begin
            StrFile:=OpenDialog1.FileName;
            ADOQ.SQL.Text:='Use Master Restore Database MES From Disk='''+ StrFile+''' Use MES';
            ADOQ.ExecSQL;
            MessageDlg('數據庫還原成功!',mtInformation,[mbOK],0);
          end;
        except
          MessageDlg('數據庫還原失敗!',mtInformation,[mbOK],0);
          Exit;
        end;
      end;
    end;