关于这个简单的问题论坛有类似的讨论,我查了一下,但不切底,我也没有得到一个清晰的答案,现在在这个地方提出来,希望大家能讨论清楚,以正视听:问题描述:(最普通、最典型的delphi数据库开发示例子)我是用delphi+sql2000开发的一个小型C/S架构的信息管理系统用于单位人事和财务管理,供多个人同时使用,对数据库的操作采用的delphi中的DBedit控件(DBNavigator)-->DataSource控件-->ADOTable控件-->ADOConnection控件-->SQL数据库
关于控件的属性设置就用的它们的默认设置,也就是拖下来就用了。下面讨论一下关于数据并发操作的问题:1、当前所描述的例子是不是就已经可以解决多用户并发访问数据的问题?
如:当一个人正在用DBNavigator控件浏览并修改数据时,他还没有点“确定”,而另一个人也在随后用同样方式访问该记录并很快修改完成,这时第一个人点确定的时候会出现什么问题,屏幕上是不是可能提示“数据行无法定位”之类的提示。怎么截获这个信息并作相应的处理,有例子吗?2、是不是我对上面的相关数据控件的属性要做什么样设置才行?3、对我所描述的这个简单的例子是不是我不应该用这种简单的解决方案(听人说delphi的优势正在于此呀),应该用什么样的方案?4、SQL个人版是不是最多只5个并发访问?
关于控件的属性设置就用的它们的默认设置,也就是拖下来就用了。下面讨论一下关于数据并发操作的问题:1、当前所描述的例子是不是就已经可以解决多用户并发访问数据的问题?
如:当一个人正在用DBNavigator控件浏览并修改数据时,他还没有点“确定”,而另一个人也在随后用同样方式访问该记录并很快修改完成,这时第一个人点确定的时候会出现什么问题,屏幕上是不是可能提示“数据行无法定位”之类的提示。怎么截获这个信息并作相应的处理,有例子吗?2、是不是我对上面的相关数据控件的属性要做什么样设置才行?3、对我所描述的这个简单的例子是不是我不应该用这种简单的解决方案(听人说delphi的优势正在于此呀),应该用什么样的方案?4、SQL个人版是不是最多只5个并发访问?
sql server的个人版应该是只能5人访问的。印象中,就企业版对同时访问的用户没要求。解决这种PV操作,sql server中有一种RowVersion的数据类型。你在表中做一个该类型的字段。
只要一条记录发生改变,该字段也会更新,你在更新的条件加上and RowVersion=.......
这样的话,同时提交的信息,有一个会提交失败。可以解决这种并发访问的问题。