回 帖 发 新 帖 刷新版面

主题:请教高手

在pb的应用程序中怎样实现数据库的备份,和数据库的恢复

回复列表 (共1个回复)

沙发

数据库备份
控件类型    对象名    属性    取值
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

我来回复

您尚未登录,请登录后再回复。点此登录或注册