问:数据库的备份在数据库应用程序中是很重要的一环,那么我将如何实现它呢?
答:用Windows的API函数可以办到。
方法一:在PB中调用DOS命令(dbbackup.exe)备份并判断其运行结束。
①定义API:
Funtion ulong FindWindowA( ulong winhandle, string wintitle ) Library "user32"
Function boolean IsWindow (Long hwnd ) Library "user32.dll"
②脚本:
ulong ll_handle
int li_loop
SetPointer(HourGlass!) //设置鼠标指针
//运行备份数据库程序dbbackup,并使其最小化
run("dbbackup -c ~"uid=dba;pwd=sql; dbf=D:/Sybase/Adaptive Server Anywhere 6.0/asademo.db~" d:/backup", Minimized!)
ll_handle = 0
//循环至dbbackup窗口打开
Do While ll_handle = 0
ll_handle = FindWindowA("tty","dbbackup")
yield()
loop
//等待dbbackup窗口关闭
Do While isWindow(ll_handle)
Yield()
Loop
//应用执行完成
MessageBox("提示信息", "备份完成!")
[注]IsWindow()函数
说明: | 判断一个窗口句柄是否有效。 |
返回值: | Long,非零表示成功,零表示失败。 |
参数 | 类型及说明 |
hwnd | Long,待检查窗口的句柄。 |