G
gongfs
Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手:<br> 我写了一段,数据库备份和恢复的程序:<br> 发现能备份数据库和恢复数据库,但内容不么生变化<br> 比如:我现在将数据库备上,然后在数据库中再添加一条记录1<br> 这时恢复数据库,发现记录1还在数据库中<br>请指点,88分全呈上<br> procedure Tsjwh.BitBtn1Click(Sender: TObject);<br> var qrystr,tempstr:string;<br>begin<br> if trim(bftx1.Text)=''<br> then<br> begin<br> messagebox(handle,pchar('请先输入备份数据库目录!'),pchar('信息!'),64);<br> bftx1.SetFocus;<br> end<br> else<br> begin //1<br> qrystr:='';tempstr:='';<br> tempstr:=trim(bftx1.Text);<br> qrystr:=' BACKUP DATABASE cg TO disk='''+tempstr+''''+' with init,stats';<br> adotemp.Close;<br> adotemp.SQL.Clear;<br> adotemp.SQL.Add(qrystr);<br> try<br> adotemp.ExecSQL<br> finally<br> end;<br> messagebox(handle,pchar('数据库备份成功!'),pchar('信息!'),64);<br> end;//1<br><br>end;<br><br>procedure Tsjwh.BitBtn3Click(Sender: TObject);<br> var qrystr,tempstr,tempstr1:string;<br> len:integer;<br> kg:integer;<br>begin<br> kg:=0;<br> kg:=messagebox(handle,pchar('您确定恢复数据库吗?'),pchar('是否恢复?'),mb_yesNo+mb_iconquestion+mb_defbutton2);<br><br> if kg=6<br> then<br> begin // 恢复1<br> if trim(hftx1.Text)=''<br> then<br> begin<br> messagebox(handle,pchar('请先输入备份数据库的目录!'),pchar('信息!'),64);<br> hftx1.SetFocus;<br> end<br> else<br> begin //1<br> qrystr:='';tempstr:=''; tempstr1:='';<br> tempstr:=trim(hftx1.Text);<br> len:=0;<br> len:=length(tempstr)-3;<br> tempstr1:=copy(trim(hftx1.Text),len,4);<br> showmessage(tempstr1);<br> if tempstr1<>'.dat'<br> then<br> begin //11<br> messagebox(handle,pchar('请输入有效的数据库文件!'),pchar('信息!'),64);<br> hftx1.SetFocus;<br> end//11<br> else<br> begin //22<br> tempstr:=trim(hftx1.Text);<br> qrystr:='use cg restore database cg from disk='''+tempstr+'''';<br> adotemp.Close;<br> adotemp.SQL.Clear;<br> adotemp.SQL.Add(qrystr);<br> try<br> adotemp.ExecSQL<br> finally<br> end;<br> messagebox(handle,pchar('数据库恢复成功!'),pchar('信息!'),64);<br> end;//22<br><br><br> end;//1<br> end;//恢复2<br><br><br>end;