此工具用于SQL Server数据库数据的备份,避免数据丢失
以下是源代码,可直接复制到极语言编程进行编译
小程序 窗体消息(整数 窗口,整数 消息,整数 参数,整数 数据)
判断(消息)
为 窗口关闭{停止(0)}
为 单击左键{如果(参数=1)启停备份}
否则{处理窗口(窗口,消息,参数,数据)}
结束
整数 份数,数据库,库表,文件,间隔;
文本 驱动[68]="DRIVER={SQL Server};SERVER=(local);Trusted_Connection=yes; DATABASE=";
文本 名称[32],路径[64],语句[120];
小程序 窗体启动
文件=路径+当前目录(64,路径)
桌面.左=窗体
读取消息
结束
引入 "lib\odbc32.lib";
小程序 初始化
数据分配(1,0, @库表)
设置环境(库表, 200,3, 0)
数据分配(2,库表,@数据库)
驱动连接(数据库,0,驱动,-3,0,0,0,1)
结束
小程序 执行语句(整数 sql)
数据分配(3, 数据库, @库表)
提交执行(库表, sql,-3)
结束
小程序 启停备份
如果(份数=0){
改窗口字(启动,"停止")
取窗口字(库名,名称,32)
初始化
间隔=取控件数(窗体,3,0,0)
份数=取控件数(窗体,4,0,0)
开启线程(@开始备份,0,间隔)}
否则{改窗口字(启动,"开始")
数据关闭(数据库)份数=0}
结束
小程序 开始备份(整数 秒);
整数 时间=秒,计数=0;文本 倒计时[20]
循环{延时(1000)
如果(时间<秒){时间++
格式化(倒计时,"%d秒后开始备份",秒-时间)
改窗口字(窗体,倒计时)}
否则{时间=0;计数++
如果(计数>份数){计数=1
发送消息(列表,列表删除,0,0)}
备份数据(计数)}
}(份数=0)
结束
小程序 备份数据(整数 计数)
格式化(文件,"\%s%d.bak",名称,计数)
发送消息(列表,列表添加,0,路径)
格式化(语句,"BACKUP DATABASE %s TO disk='%s' with init",名称,路径)
数据释放(3,库表)执行语句(语句)
结束;