1、直接拷贝表文件;
2、用TBatchMove控件;

解决方案 »

  1.   

    用CopyFile就可以了。在MSDN中可以查到。
      

  2.   

    chechy师父
    昨天老千教偶这么写:DeleteFile('C:\Test.Mdb');//删除
    RenameFile('C:\Test.Mdb');//重命名
    CopyFile(pchar('C:\Test.Mdb'),pchar('D:\Test.Mdb'),False);//复制但偶想指定文件存取的位置,怎么版呢?还有msdn是什么呢(偶太菜了)
      

  3.   

    Var
      :sPath:String;
    begin
      sPath := 你指定的路径~~~
      DeleteFile(sPath+'\Test.Mdb');//删除
      RenameFile(sPath+'\Test.Mdb');//重命名
      CopyFile(pchar(sPath+'\Test.Mdb'),pchar(sPath+'\Test.Mdb'),False);//复制
    end;
      

  4.   

       sPath := 你指定的路径~~~这个:你指定的路径
    这程序里怎么处理?
    我是说用户指定的路径
    可能是多种多样  
    尤其软件安装时
    安装目录也不同能不能用 另存对话框
    偶没有找到 另存dialog
      

  5.   

    如果你想指定位置
    请用一个opendialog的控件吧。
    其实也可以用selectdirectory这个函数。
      

  6.   

    还有些问题
    opendialog只能打开,savedialog只能保存
    当选中data数据库,需要 另存 在某一处时,
    怎么版呢?
    老瓦,那个函数怎么用?
    偶再去win31找找
      

  7.   

    用selectdirectory选择目录于dir中
    在用每个表的BatchMove方法备份文件dir+'\filename.ext'就可以了。
      

  8.   

    实在不明白,
    偶用的三个win31组件:drive,direction,file及一个savedialog
    互相套接
    在 保存 按钮下这么写
    savedialog.execute
    但无法实现保存
    还要别的代码
    怎么写呢?
      

  9.   

    我上次说过的
    就用dbicopyfile
    查一下帮助
    这个可以连相关的索引等文件也一起复制的
      

  10.   

    偶查了查
    但总是现实在tibsql,
    安 显示 说:查不到
      

  11.   

    在BDE的帮助中查就能查到 
      

  12.   

    你这个不能叫保存,只能叫复制,
    把和数据库相关的文件全部复制到另一个目录里就可以了,相关函数 SelectDirectory  //选择目录
         copyfile       //复制文件
        application.Exename //带路径的可执行文件名,根据这个来定位相对目录
      

  13.   

    首先根据 可执行文件取出路径,函数我忘记了,我每次都是自己做一个取路径的函数然后用 SelectDirectory 函数选择路径,用法
      uses FileCtrl;
      SelectDirectory(窗口标题, '桌面',dir),然后dir变量里就是你所选择的结果
    最后, CopyFile(PChar(原文件),PChar(目标文件),False)  
      

  14.   

    小昂师父
    拜托,再帮一把
    偶对函数变量那一部分很不了解
    上述的
    偶自己解决还有些吃力
    数据备份是偶的通讯录最后一个模块了
    偶想先做好,而后再仔细研究
    经过这一段没明没夜的干
    偶受益很多
    需要停下来
    捉摸捉摸偶又找到一个bug
    偶用   
          qxs:='';
            for i:=0 to CheckListBox2.Items.Count-1 do
          if CheckListBox2.Checked[i] then
            qxs:='1'+qxs
          else
            qxs:='0'+qxs;
    把checklistbox的数据读回权限数据库
    权限与字符串应该是对应的
    但是有时候他们对应
    有时候正好相反
    比如最后一个check被选中
    那么字符串最后一个应该是1
    但是数据显示却是字符串第一个值变成了1
      

  15.   

    只要把保存和读取中随便一个颠倒就可以了,
    把for i:=0 to CheckListBox2.Items.Count-1 do
     改成for i:=CheckListBox2.Items.Count-1  downto 0 do
    关于备份:
    var 
       i,j:integer;
       dir,ExeName,path:string;
    begin
    //假设数据库文件在程序目录的 db子目录中,默认备份文件在 backup子目录中
    //数据库文件叫 db.mdb
       ExeName:=application.ExeName;
       j:=0;
       for i:=1 to length(ExeName) do
          if ExeName[i]='\' then
              j:=i;
       path:=copy(ExeName,1,j);    //取程序的相对路径
       
       if SelectDirectory('请选择备份文件路径', '我的电脑',dir) then
       begin
             if dir[length(dir)]<>'\' then
                    dir:=dir+'\';  
             if not CopyFile(path+'db\db.mdb',dir+'db.mdb',FALSE) then
                   MessageBox(Application.Handle,PChar('拷贝文件错误'),PChar('错误提示'),MB_OK);
       end
       else  //如果没有选择路径,则用默认路径   
             if not CopyFile(path+'db\db.mdb',path+'backup\db.mdb',FALSE) then
                   MessageBox(Application.Handle,PChar('拷贝文件错误'),PChar('错误提示'),MB_OK);
             
                           
               
      

  16.   

    小昂师父
    系统提示着一行有错误:
    if not CopyFile(path+'db\db.mdb',dir+'db.mdb',FALSE) then
    光标停在括号里第一个 , 号后