此工具用于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,库表)执行语句(语句) 结束;