to jiezhi(Niu):具体怎么实现呢

解决方案 »

  1.   

    可参考以下程序段:
    var 
      str:string;
      p:pchar;
    begin
      str:='exp username/password file=backup.dmp';
      p:=pchar(str);
      winexec(p,0);
    end;
      

  2.   

    DELPHI 里有一个BatchMove 控件,用他就可以,不过这里进行导的是表,相信其他的(视图,存储过程,触发器)导入导出就更简单了,问题是你在导表时要处理好索引.
      

  3.   

    完全备份:unit wqbf;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Buttons, ExtCtrls, FileCtrl, ADODB, DB, ComCtrls,
      Tabs, Grids, Outline;type
      TwqbfForm = class(TForm)
        Panel1: TPanel;
        Label1: TLabel;
        Edit1: TEdit;
        SaveDialog1: TSaveDialog;
        SpeedButton1: TSpeedButton;
        BitBtn1: TBitBtn;
        BitBtn2: TBitBtn;
        ADOConnection1: TADOConnection;
        ADOQuery1: TADOQuery;
        Label2: TLabel;
        procedure SpeedButton1Click(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
        procedure BitBtn2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      wqbfForm: TwqbfForm;implementation{$R *.dfm}procedure TwqbfForm.SpeedButton1Click(Sender: TObject);
    var filename : string;
    begin
     if savedialog1.Execute then
     begin
       filename:=savedialog1.FileName;
       filename:=trim(filename);
       edit1.Text:=filename;
     end;
    end;procedure TwqbfForm.BitBtn1Click(Sender: TObject);
    begin
     label2.Caption:='正在备份中';
     with adoquery1 do
     begin
       close;
       sql.Clear;
       sql.Add('use master');
       SQL.Add('backup database bysj to disk=:bf');
       parameters.ParamByName('bf').Value:=edit1.Text;
       ExecSQL;
     end;
     label2.Caption:='您的已经成功备份数据!!!';
    end;procedure TwqbfForm.BitBtn2Click(Sender: TObject);
    begin
     close;
    end;end.
      

  4.   

    差异备份unit cybf;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, ADODB, Buttons, StdCtrls, ExtCtrls;type
      TcybfForm = class(TForm)
        Panel1: TPanel;
        Edit1: TEdit;
        Label1: TLabel;
        BitBtn1: TBitBtn;
        SpeedButton1: TSpeedButton;
        BitBtn2: TBitBtn;
        ADOConnection1: TADOConnection;
        ADOQuery1: TADOQuery;
        OpenDialog1: TOpenDialog;
        Label2: TLabel;
        procedure SpeedButton1Click(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
        procedure BitBtn2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      cybfForm: TcybfForm;implementation{$R *.dfm}procedure TcybfForm.SpeedButton1Click(Sender: TObject);
    var filename:string;
    begin
     if opendialog1.Execute then
     begin
      filename:=opendialog1.FileName;
      filename:=trim(filename);
      edit1.Text:=filename;
     end;
    end;procedure TcybfForm.BitBtn1Click(Sender: TObject);
    begin
     label2.Caption:='正在进行差异备份中!!!';
     with adoquery1 do
     begin
      close;
      sql.Clear;
      sql.Add('use master');
      sql.Add('backup database bysj to disk=:kb with differential');
      parameters.ParamByName('kb').Value:=edit1.Text;
      execsql;
     end;
     label2.caption:='差异备份成功!';
    end;procedure TcybfForm.BitBtn2Click(Sender: TObject);
    begin
     close;
    end;end.
      

  5.   

    在USERS那里加上SHELLAPI,调用函数。
     ShellExecute(0, "open", "exp user/paswd@aa file=a.dat", NULL, NULL, SW_SHOWDEFAULT);
      

  6.   

    To wupangzi(无本之木),我用的是oracle 8i,不是SQL Server,你那些语句好像只适用于SQL Server. To   LGQDUCKY(飘) ,已经适过,好像没有什么反映。
      

  7.   

    to tsj68(tsj) ,方法可行,谢谢。