
//cb_1clicked()
string fname,name
GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(1),1')
sle_1text=fname
//cb_2clicked()
string mysql,bfname
bfname=trim(sle_1text)
bfname=left(bfname,len(bfname)-2)
mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
if sqlcasqlcode=0 then
messagebox(“信息提示”,'备份成功!',information!,OK!)//给出备份成功与否的相关信息
else
messagebox(“信息提示”,'备份失败!',information!,OK!)
end if
二 恢复程序
再来看看恢复数据库程序的编写。在窗体上建一文本框 sle_1,显示用来恢复的备份文件名,并添加两个按钮:cb_1(查找)、cb_2(恢复)。声明一个修改文件属性的API函数:
FUNCTION ulong SetFileAttributes(ref string lpFileName,ulong dwFileAttributes) LIBRARY “kernel32dll” ALIAS FOR “SetFileAttributesA”
相应的事件代码如下:
//cb_1clicked()
string fname,name
GetfileOPenName('查找',fname,name,“1”,“数据库备份文件(1),1”)
sle_1text=fname
//cb_2clicked()
string mysql,bfname,gzname
ulong sxz=32,kb //sxz为文件的属性值,32表示可读写
boolean tmp
bfname=trim(sle_1text)
bfname=left(bfname,len(bfname)-2)
// d:\slgz 为示例中数据库文件所在目录,tmpdb为临时的数据库文件
mysql=“RESTORE DATABASE 'd:\slgz\tmpdb' FROM '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//同样是运用SQL语句来立刻执行恢复数据库的工作
if sqlcasqlcode<>0 then
messagebox(“信息提示”,'数据恢复失败!',information!,OK!)
return
end if
disconnect; //断开数据库连接
gzname='d:\slgz\gzdb' //包含路径的数据库文件
SetFileAttributes(gzname,sxz) // 去掉只读属性
tmp=filedelete('d:\slgz\gzdb') //删除恢复前的数据库
if tmp=false then
messagebox(“信息提示”,'备份失败!',information!,OK!)
return 恩啊
以上就是关于asa数据库备份恢复教程全部的内容,包括:asa数据库备份恢复教程、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)