数据更新及同步问题?(ADO)(0分)

  • 主题发起人 主题发起人 sqlss_18
  • 开始时间 开始时间
S

sqlss_18

Unregistered / Unconfirmed
GUEST, unregistred user!
N个人打开数据库,同时编辑一个表,当A新增一条记录时,(B,C,D,)人的电脑
中没有显示该记录,返之则然,请问点解决她?
 
没有人可以帮下吗?
 
加事务,并更新后刷新数据
 
一般多层是无状态的,如果要这样及时更新,可能需要服务器始终保持连接并且为客户端维护状态,这样对系统的延展性和效率都有很大影响。
如果是我,可能会考虑这样做。多层技术实现数据库信息的传递和浏览,再在服务器和客户端设置Socket,当客户端运行时首先connect服务器的Socket,然后在服务器更新数据时,服务端的Socket向每个客户端发送一个代表刷新请求的字符串,客户端在一收到这个请求时就进行刷新。这样既可以保持数据的无状态,又可以解决的你的问题。
但在实际中估计会有更多的问题,例如客户端的数据更新是否会和当前客户正在修改的数据相冲突,服务端的线程模式如何影响这个Socket,等等。
 
我一现在用一种很差的办法: 当刷新客户端时,别人新增的记录还是显示不了,只有在服务端
表的新增前、新增后,删除后加入事例,再在客户的connect中,当新增或删除后,connect断开、再联接。。
 
“当刷新客户端时,别人新增的记录还是显示不了”。。。。。。。。
如果你是始终保持连接且出现这种情况,很有可能是指针设置的问题,例如把ADO默认的指针类型STatic Cursor改成Dynamic Cursor类型,就可以在保持连接的时候看到别的用户的新增或删除的情况,而其他指针类型只能看到修改情况。
 
to:
xiaasp
怎样把ADO默认的指针类型STatic Cursor改成Dynamic Cursor类型,有详细的例子吗?
 
我记得就在ADODataSet的属性栏中的CursorType里面可以选择。具体的你自己找找,我现在在98平台下,切换到2K里面去开Delphi太麻烦了。
 
to:
xiaasp
进去这里加分!
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1791597
 
后退
顶部