//备份数据库,到c:/backup目录下面
string ls_backup
CreateDirectory(sle_1.text)
ls_backup="BACKUP DATABASE DIRECTORY '"+sle_1.text+"' TRANSACTION LOG RENAME"
execute immediate : ls_backup;
if sqlca.sqlcode<>0 then
messagebox("备份数据错误","请确定文件夹是否存在!"+sqlca.sqlerrtext)
else
messagebox("数据备份成功","OK,数据备份成功,放在'C:/BACKUP/'目录下")
end if
-------------------------------------------------------------------
//恢复数据库,程序拷贝
string ls_filename,named,ls_ml,gs_dir
long ll_value
string mtext
//得到当前目录
if messagebox('提示','恢复数据库,会覆盖现有数据库,且无法修复,是否继续?',&
question!,yesno!,2) = 2 then return
ll_value = GetFileopenName("请选择要恢复的数据库文件",&
ls_filename, named,"backup","数据库文件(*.db),*.db")
gs_dir=GetCurrentDirectory()
if ll_value <> 1 then return
ChangeDirectory(gs_dir)
disconnect;
setpointer(hourglass!)
//读取文件
integer li_FileNum
boolean lb_del
ls_ml=gs_dir +"/bookmanager.db"
//拷贝文件
li_FileNum = FileCopy(ls_filename, ls_ml, true)
choose case li_FileNum
case 1
messagebox("系统提示","已经成功恢复数据库!",Exclamation!)
case -1
messagebox("系统提示","不能打开源文件,恢复失败!",Exclamation!)
case -2
messagebox("系统提示","不能写入目标文件,恢复失败!",Exclamation!)
end choose
setpointer(arrow!)
//重新连接数据库
connect ;