多层结构中,数据修改模式(UpdateMode)的问题,请指教!(300分)

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

lsha

Unregistered / Unconfirmed
GUEST, unregistred user!
在多层结构中,我将应用服务器上的DataSetProvider1控件的UpdateMode属性值设置为
upWhereKeyOnly,客户端修改数据后,调用ApplyUpdates过程就会出现
"Unable to find record. No key specified"错误信息,我将UpdateMode属性值设置
为upWhereAll,upWhereChanged都能正确产生SQL语句,能正确执行,我想是不是要指
定一个key,可我又不知道怎样指定,请各位大虾指教!
 
这个问题由于没有设定TField.ProviderFlags属性,
在DataSetProvider的 BeforeUpdateRecord 中设置
SourceDS.fieldbyname('key').ProviderFlags=pfInKey即可
 
我设定了TField.ProviderFlags属性为[pfInkey]后,"Unable to find record. No
key specified"这个错误信息没有了,在一个用户修改数据的情况下程序可以正常运行
,但在两台机器上,两个用户修改同一条记录的同一个字段时就又有如下错误信息:
"无法为更新行集定位:一些值可能已在最后读取后改变",修改的字段并不是主键,
我已经设置不让修改主键。请大虾们再继续多多指教!
 
不是在 BeforeUpdateRecord 中运行时动态修改吧?
最好在设计时双击dataset添加你需要的field,
然后设置该field的ProviderFlags
 
我是在设计时双击dataset添加field,然后设置该field的ProviderFlags的,但还是出现
上述的问题。
请大虾们再继续多多指教!
 
多人接受答案了。
 
后退
顶部