setpointer(hourglass!)
date ld_date,ld_now
string ls_dd,ls_mm,ls_yyyy
select getdate() into :ld_date from sys_info ;
ld_now = date(ld_date)
ls_dd = string(day(ld_now))
ls_mm = string(month(ld_now))
ls_yyyy = string(year(ld_now))
if integer(ls_mm)<=9 then
ls_mm="0"+ls_mm
end if
if integer(ls_dd) <= 9 then
ls_dd = "0"+ls_dd
end if
string ls_filename,ls_path,ls_use
ls_filename = "tax"+ls_yyyy+ls_mm+ls_dd+".bak"
s_use ='BACKUP DATABASE ' + sqlca.database + ' to ' + sqlca.database
EXECUTE IMMEDIATE : s_use ;
if sqlca.sqlcode<>0 then i_err=1
s_use = "exec sp_dropdevice " + sqlca.database
EXECUTE IMMEDIATE : s_use ;
if sqlca.sqlcode<>0 then i_err=1
ufunc.uf_setbar(70)
SQLCA.AutoCommit = false
if i_err = 0 then
messagebox("提示","备份成功!")
close(parent)
return
else
messagebox("提示","备份失败!")
sle_1.setfocus()
end if
///////////////////////////////////////////////////////////////////////////////////////
//恢复
string s_path ,s_use
int i_err=0
Transaction SQLCA_MASTER
s_use = "EXEC sp_addumpdevice 'disk' "+" , " + sqlca.database +","+" '"+s_path+"' "
EXECUTE IMMEDIATE : s_use using sqlca_master;
if sqlca_master.sqlcode<>0 then i_err=1
s_use = "RESTORE DATABASE " + sqlca.database + " FROM DISK = "+" '"+s_path+"' "
EXECUTE IMMEDIATE : s_use using sqlca_master;
if sqlca_master.sqlcode<>0 then i_err=1
s_use = "EXEC sp_dropdevice " + sqlca.database
EXECUTE IMMEDIATE : s_use using sqlca_master;
if sqlca_master.sqlcode<>0 then i_err=1
sqlca_master.autocommit=false
disconnect using sqlca_master;
connect using sqlca;
if i_err = 0 then
messagebox("提示","恢复成功")
close(parent)
return
else
messagebox("警告","恢复失败")
return
end if