主题:请教高手
fjcjuncheng
[专家分:0] 发布于 2005-06-13 22:04:00
在pb的应用程序中怎样实现数据库的备份,和数据库的恢复
回复列表 (共1个回复)
沙发
岚山 [专家分:320] 发布于 2005-06-18 15:28:00
数据库备份
控件类型 对象名 属性 取值
window w_backup Title 数据备份
window w_backup windowType main
StaticText st_2 Text 数据库备份
StaticText st_2 TextSize 20
StaticText st_1 Text 备份文件名:
GroupBox gb_1 Text
SingleLineedit sle_backfile Text
CommandButton cb_1 Text >>
CommandButton cb_ok Text 开始备份
CommandButton cb_cancel Text 退出
在 cb_1 的clicked 事件中添加如下代码
string docname=’pay.dat’,named
integer value
value=GetFileSaveName(“请输入备份文件名”,docname,named,”dat”,”Backup Files (*.dat),*.dat”)
if value=1 then
sle_bafile.text=docname
SetCurrentDirectory(gs_path)
End if
在 cb_ok 的clicked 事件中添加如下代码
string backup
string pathstring
pathstring=sle_bakfile.text
messagebox(‘提示信息’,’请先关闭所有窗口!’,Exclamation!)
if pathstring=’’then
messagebox(‘提示信息’,’请先输入备份数据库的名称!’)
return
end if
disconnect using sqlca
SQLCA.DBMS=”ODBC”
SQLCA.AutoCommit=False
SQLCA.DBParm=”ConnectString=’DSN=persondb;UID=sa;PWD=’”
Connect using sqlca;
Backup=”backup database pay to disk=”+”’”+pathstring+”’”;
EXECUTE IMMEDIATE :backup;
If sqlca.sqlcode=0 then
Messagebox(‘提示信息’,’数据库备份成功!’)
Else
Messagebox(“提示信息”,”数据库错误+”+sqlca.sqlerrtext)
End if
Disconnect;
SQLCA.DBParm=”ConnectString=’DSN=persondb;UID=sa;PWD=’”
Connect;
Return
数据库还原
控件类型 对象名 属性 取值
window w_backup Title 数据备份
window w_backup windowType main
StaticText st_2 Text 数据库备份
StaticText st_2 TextSize 20
StaticText st_1 Text 备份文件名:
GroupBox gb_1 Text
SingleLineedit sle_backfile Text
CommandButton cb_1 Text >>
CommandButton cb_ok Text 开始备份
CommandButton cb_cancel Text 退出
在 cb_1 的clicked 事件中添加如下代码
string docname=’pay.dat’,named
integer value
value=GetFileSaveName(“请输入备份文件名”,docname,named,”dat”,”Backup Files (*.dat),*.dat”)
if value=1 then
sle_bafile.text=docname
SetCurrentDirectory(gs_path)
End if
在 cb_ok 的clicked 事件中添加如下代码
stringrestore,dbname
string pathstring
dbname=”pay”
pathstring=sle_bakfile.text
messagebox(‘提示信息’,’请先关闭所有窗口!’,Exclamation!)
if pathstring=’’then
messagebox(‘提示信息’,’请先输入备份数据库的名称!’)
return
end if
disconnect using sqlca
SQLCA.DBMS=”ODBC”
SQLCA.AutoCommit=False
SQLCA.DBParm=”ConnectString=’DSN=persondb;UID=sa;PWD=’”
Connect using sqlca;
Backup=”backup database pay to disk=”+”’”+pathstring+”’”;
EXECUTE IMMEDIATE :restore;
If sqlca.sqlcode=0 then
Messagebox(‘提示信息’,’恭喜你!数据库恢复成功!’)
Else
Messagebox(“提示信息”,”数据库错误+”+sqlca.sqlerrtext)
End if
Disconnect;
SQLCA.DBParm=”ConnectString=’DSN=persondb;UID=sa;PWD=’”
Connect;
Return
我来回复