现在做的项目数据库的备份如何实现?
我用的是mysql dbExpress
最好提供现有代码参考.谢谢大家.

解决方案 »

  1.   

    我用ado+sql的例子
    procedure TForm1.BitBtn2Click(Sender: TObject);
    var
      filename:string;
    begin
      StatusBar1.SimpleText := '正在备份中...';
      pgbar.Max := 100;
      pgbar.Min := 0;
      pgbar.Position := 0;
      pgbar.Step := 20;
      filename := database + FormatDateTime('yy-MM-dd-hh-mm-ss', Now);
         dm.ADOConnection1.Close;
          begin
            try
              ADOCommand1.CommandText := 'use Master';
              pgbar.StepIt;
              ADOCommand1.Execute;
              adocommand1.CommandText := 'execute sp_helpdevice';
              pgbar.StepIt;
              adocommand1.Execute;
              pgbar.stepit;
              adocommand1.CommandText := 'backup database ' + database + ' to disk=''' +'d:\'+ filename + ''' with init';
              pgbar.StepIt;
              adocommand1.Execute;
              adocommand1.CommandText := 'Use ' + database;
              pgbar.StepIt;
              adocommand1.Execute;
              application.MessageBox(pchar('数据库已经成功备份到 ' + filename + '!'), Gsysname, mb_ok + mb_iconinformation);
              StatusBar1.SimpleText := '';
              pgbar.Position := 0;
              try
                dm.ADOConnection1.Connected := True;
              except
                begin
                  StatusBar1.SimpleText := '';
                  application.MessageBox('无法重新接连数据库!', Gsysname, mb_ok + mb_iconerror);
                  abort;
                end;
              end;
            except
              on Exception do
                if dm.ADOConnection1.InTransaction then
                  dm.ADOConnection1.RollbackTrans;
            end;
          end;
    end;
      

  2.   

    我用的是mysql.......没有那个buckup database SQL命令