这些代码似乎有些问题,请大家帮忙看一下。
使用了Savedialog1、ADOconnection1、ADOQuery1控件,代码如下:procedure Tbackupfm.backupbtnClick(Sender: TObject);
begin
if(edit1.Text='')then
begin
showmessage('请输入备份路径!');
edit1.setfocus;
exit;
end;
try
    try
    adoquery1.Active:= false;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('BACKUP DATABASE ckgl TO DISK = '''+edit1.text+''' WITH INIT');
    adoquery1.ExecSQL;
    finally
      begin
        adoquery1.Active:= false;
        Showmessage('数据库备份成功!');
      end;
    end;
  except
  on e:exception do
    begin
      ShowMessage('数据库备份失败!');
    end;
  end;
end;procedure Tbackupfm.xzbtnClick(Sender: TObject);
begin
savedialog1.InitialDir:=extractfiledir(application.ExeName);
savedialog1.Title:='保存文件';
savedialog1.Execute;
end;procedure Tbackupfm.SaveDialog1CanClose(Sender: TObject;
  var CanClose: Boolean);
begin
edit1.Text:=savedialog1.FileName;
end;

解决方案 »

  1.   

    不知你为什么有两个按钮事件,一般地用一个就可以了,备份的路径在SaveDialog里面填。
    if SaveDialog1.Execute then
         begin 
           //实现备份
         end;
      

  2.   

    except
      on e:exception do
        begin
          ShowMessage('数据库备份失败!');
        end;
      end;如果你并不想捕获错误信息,只是想告诉客户失败了。
    那就
      except      ShowMessage('数据库备份失败!');  end;
      

  3.   

    给老之顶一下
    if SaveDialog1.Execute then
         begin 
           //实现备份
         end;一般都这样用。