一个很菜的问题。

nnwq 2003-01-13 12:34:32
请问COM+或MTS是否可实现:
多个应用程序使用同一个数据库的同一张表,当其中一个应用程序对表进行修改、删除、添加后,其余的应用程序是否能够在不必重新close再open即可获得数据同步更新?速度如何?
如可以请说明实现方法。
...全文
22 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ppp2k 2003-01-13
关注
回复
TOMWLD 2003-01-13
两层处理起来都很麻烦,三层中更不用说了
回复
smilelhh 2003-01-13
看到有个AutoRefresh属性, 不过没有机会用.
试试看.
回复
eastliangliang 2003-01-13
又是更新数据啊,听课,我是没办法。
回复
ytwxw 2003-01-13
nnwq(乖仔)
在com+中
我们用到的com+对象是无状态的
而clientdataset取得的数据便是在本地内存中
一旦取得数据
服务器中的com+对象不会为你保存任何状态的

而如果要实现clientdataset的自动刷新

必然要由服务器端进行callback客户端

而这种功能实现的难度?

呵呵。。。。

况且效率啊,

难,难,难




回复
nnwq 2003-01-13
TO ytwxw(wxw)

这当然有必要了!且不管两层还是多层,就在同一个程序不同的表单中,两个数据控件读取的是同一张表的数据,当在A表单操作数据表发生改时,B表单必需重新close再open方能读到最新的数据。需如果能够实现Access的功能,那么就可以不必再新获取数据了。

在网络系统中,前台有多台机子运行多个相同的程序进行开销售单工作,后台可能实时通过导航上一单、下一单对单据进行浏览,这时如果想要看到最新的单据只能重新打开程序啰?这样做是很烦的,且根本没必要的理由。
回复
nnwq 2003-01-13
不会吧?我想应该是可以的啊!大家看看Access吧,它能够
1.在打开表时就立即显示数据,然后在后台再将数据全部读到内存。
2.假设你的程序打开着数据库A.mdb的表A,而你再启动Access同样也打开着A.mdb的表A,此时你会发现无论你在你的程序中对表A的数据如何操作,在Access中的表A都能立即刷新,速度非常快!

大家可以试试!
回复
ytwxw 2003-01-13
再说了

有这个必要吗?

com+下肯定是无状态的
回复
ytwxw 2003-01-13
up啊

难啊。。。。。
回复
BoningSword 2003-01-13
...就不用说了
回复
BoningSword 2003-01-13
多层中有可能马?如果是牺牲速度来实现的话就用说了
回复
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

1566

社区成员

Delphi 网络通信/分布式开发
申请成为版主
社区公告
暂无公告