关于桌面数据库的问题(150分)

  • 主题发起人 主题发起人 linlinlin
  • 开始时间 开始时间
L

linlinlin

Unregistered / Unconfirmed
GUEST, unregistred user!
用sqlserver桌面版msde作本地数据库程序,如何做数据升级呢?
想做成一个exe文件一执行,就把新的数据加入数据库中,如同在sqlserver中导入数据
一样,但是要编程实现,因为用户根本不会使用数据库。或者在线升级,怎么做呢?
那位高手能教教我,怎么写这个程序?
另外,msde有没有什么好的发布方法,尽量傻瓜式的。
 
msde没用过,你使用ADO么?
在线升级听说过。
来自:王寒松, 时间:2002-2-10 19:14:00, ID:918536
主要思路是: 主程序运行时通过HTTP和 FTP 或 FILE 协议从网上下载下来最新的
程序版本后, 主程序释放出一个小程序 单独建立一个进程完成自身覆盖自己的工作。

程序流程是: 主程序制作: 将一个完成自身升级的小程序先用 aspack压缩
然后用 lz 算法压缩程序压缩。 做成资源文件编译到主程序内部.

主程序运行 --> 释放update_self 小程序.
使用createprocess 建立一个update_self.exe的新进程
参数给定 update_self.exe PID new_exe old_exe
参数PID :是主程序的进程ID new_exe 是新程序. old_exe 是旧的主程序本身.

然后主程序 terminate

update_self 小程序开始工作
先判断系统平台, 循环查找查找主程序进程ID 是否还在内存中存在.
如存在 说明主程序还没有完全退出. 如不存在 则开始更新 copyfile
将主程序(old_exe) 替换成 new_exe

目前 控制台update_self 小程序我已经写完了,
编译后大小是42k. aspack压缩后大小是25k. 这样大小的文件即使不用其他压缩工具压缩
作为资源连接到 主应用程序里也不是负担.
好了。 通过HTTP方式自升级的控件做好了.
下载地址 http://www.bj99.net/delphi/download/update.rar
含全部源码和一个例子。
要用 WINRAR 3.0解压缩。 2.0版的解不开3。0版的WINRAR文件
 
可以把要添加的数据做成SQL语句的形式,这些SQL语句做成字符串资源放在exe程序中,
调用时候,根据要更新的SQL语句的总数,提取SQL语句执行升级更新。数据库中最好保存
一些版本信息,以保证升级后,不会再升级。
 
后退
顶部