winform程序和web应用程序的数据整合,看大家以前有没有碰到过类似的问题,请教思路!!本人揭帖率100%!

wwj9252003 2004-11-23 09:08:16
最近一客户想做一简单的mis系统,主要就是诸多数据的输入,查询,统计,打印等,功能不算复杂,一开始他没有说想要做winform程序还是web应用程序,当时我想这两者都是比较简单的,但是昨天去向客户求证的时候,他说二者都需要,winform程序需要,web应用程序也需要;并且客户都说出了详细的操作步骤,当我某台机器无法联网的时候,采用winform程序输入数据,当数据输入完之后,通过“导出数据”这一功能得到一个“数据包”文件,带走,然后到了一个能上网的机器上时,通过web应用程序的“导入数据”功能,将刚才的“数据包”文件导入到web服务器的数据库中,客户的需求倒是描述的挺详细,可是我还没有很好的思路,有没有过来人能说说怎么做的?

谢谢!可能揭帖会时间长一点,毕竟是200分的帖子,个人认为这个问题也不是一两句话能说的清的!
...全文
428 点赞 收藏 38
写回复
38 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
liuyangxuan 2004-11-24
通过XML做数据中间件
回复
sunangle 2004-11-24
引导一下客户,如果数据要求不高就不要这样做了,做出的系统可能维护很麻烦,写个c/s的我 觉得比较好一点。client可以保存数据在网络正常时更新server数据库
回复
yqh1314 2004-11-24
来迟了那只好顶一下了!
回复
wwj9252003 2004-11-24
揭帖了,谢谢大家!
回复
VickyMao 2004-11-24
帮你顶
回复
surferc 2004-11-24
poron9(上帝之泪) 精辟啊 ,不过程序写起来也一定很烦事。
回复
sleeping100 2004-11-24
帮你顶
回复
wwj9252003 2004-11-23
呵呵,楼上的又说了一番很精辟的话!
回复
poron9 2004-11-23
其实大家争论的还是数据统一的问题,即如何让新的数据在导入时不覆盖老的数据?如果客户端有数个的话,而对数据编号有较高的统一和顺序要求的情况下怎么保证几个客户端导出的数据在导入主库时的顺序的一致?
我个人倾向于分表存储,在主库中一客户端有一张基本信息表,在导入数据时,每次导入都按导入日期新建一张表,并于客户基本信息表关联,其中一个字段用于保存数据序列ID。然后再建一张表专用于存储每次导入数据的最后一个数据序列ID,当每个客户端导入数据时先检索此数据表中的最大ID,然后加1,做为此次导入的新建表的客户数据的数据序列ID起始ID.
这是我为一个食品连锁专卖集团做的一个系统里采用的方法,好处是查询速度和程序运行速度快,因为数据都分表存储,每张表的数据量都不大;弊端就是做程序时的查询语句增多,增加了程序开发难度
回复
DARKNESSFALL 2004-11-23
up
回复
wwj9252003 2004-11-23
to: lwlmaomao()
我现在还没有决定用什么东西做,只要主要设计思想出来了,我想剩下的实现应该不会很难的!
回复
ygjwjj 2004-11-23

你有没有想过有可能客户的机器根本就没有网络这种情况呢?所以我个人现在也倾向于导入、导出这种形式!
===========================================

TO: wwj9252003(小小)
导入这种操作,是对数据库的直接操作,让用户来操作,实在不好;如果实在要用导入的话,必须采用自己编写的文件格式和数据有效性校验(字节层次);我见过一个导入的系统,由于使用的载体使数据不完全,结果导致系统出错,很难用.
回复
lwlmaomao 2004-11-23
asp+ado与VB+ado或asp+ado与delphi+ado这都比较好做
回复
wwj9252003 2004-11-23
to: zhangzongshan207(自我一生)
前面我已经说过:我的机器有可能不能联网,所以数据只可能保存在本地,必须借助其他介质才能将文件传到网上,所以我还是倾向于access模块文件,

to: abaowu(钳工)
winform程序下操作的数据只是起暂存的作用,导出后可以清空或标记为已导出或转移的历史记录表中即可。

这个方法不错,基本可以解决如何导出最新数据的问题;

在上传时有个问题可能需要解决:
用户多次提交到WEB从WINFORM导出的数据该如何保证不重复记录数据。

这个问题想请大家一起看看!

回复
zzsdream 2004-11-23
我做过类似的程序,实现方法是以winform为主,系统检查网络是否连通,数据在本地和网络都同时保存,如果说网络不通的话就保存在本地,当网络通的时候程序首先就启动和网络的数据库进行比较上传,以保证数据的同一性,千万不要让客户自己操做数据库文件,这样做的话对客户满意度低了一些,我做的快件系统现在客户用起来很满意。
回复
abaowu 2004-11-23
TO: wwj9252003(小小)
winform程序下操作的数据只是起暂存的作用,导出后可以清空或标记为已导出或转移的历史记录表中即可。

在上传时有个问题可能需要解决:
用户多次提交到WEB从WINFORM导出的数据该如何保证不重复记录数据。
回复
wwj9252003 2004-11-23
不明白楼上的意思!
回复
iuhxq 2004-11-23
这个可能就类似于DVBBS的后台日志了,记录操作,然后到网上再执行一便
回复
iuhxq 2004-11-23
那只能把一些SQL命令记录在你的一个单独的表里,然后当网上去执行了。(比如删除记录)

听各位高见
回复
wwj9252003 2004-11-23
我现在设想的如下:前提:网络不通,必须在这台机器上操作本地程序之后往另外一台机器才能操作web程序,所以楼上有几个方法就不可行了

1:winform程序和web程序都采用access数据库;
2:采用空的access数据库模板为数据载体;当导出数据的时候将本次操作的最新数据全部放到一个空的access数据库模板中,当导入数据的时候,先将装有刚才操作数据的access数据库上传到服务器,然后将里面的数据挨个表分别导入进去;

问题:怎样记录本次在winform程序下操作的数据?并不是我每次操作之前本地数据库为空的数据库,他的里面应该会有一些数据的!
回复
加载更多回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-11-23 09:08
社区公告
暂无公告