Delta 数据包(50分)

  • 主题发起人 主题发起人 qqyxh
  • 开始时间 开始时间
Q

qqyxh

Unregistered / Unconfirmed
GUEST, unregistred user!
请指教:
经本人分析,Delta 数据包中不包含对某个字段的ProviderFlags属性的单独设置数据,例如我
现在不想字段“Flag”出现在Where语句中,就在TClientDataSet中把此字段的ProviderFlags
属性的pfInWhere去掉,但是通过跟踪发现"Flag"仍然出现在Where语句中。
类似的我把TDataSetProvider的UpdateMode属性设为upWhereKeyOnly,运行时报“No Key Specified”
这是为什么?
 
1、设置TDataSetProvider所指向的Tdataset的字段ProviderFlags应该没有问题?!
但如果此时UpdateMode为upWhereAll,不知道怎样,我没有实验。
2、当把TDataSetProvider的UpdateMode属性设为upWhereKeyOnly时,那么
TDataSetProvider所指向的Tdatase的字段,必须有些设置成pfInkey
 
谢谢!
我做的是一个通用的提交过程,只要把Delta和表名传到应用服务器就行。
也就是说,所用的Provider和DataSet是公用的。
 
ProviderFlags要在TDataSetProvider的BeforeUpdateRecord事件中设置才有效
 
1 将datasetproider的resolvetodataset设为false就行了
2 我想你用的是query或adoquery,它们打开时是不寻找key的,所以这样设置是不行了
用table或adotable就没问题了
 
当我取DELTA数据时,假如我修改同一条记录不同的字段,我想让在DELTA中显示为一条记录而实际上是每个修改过的字段是一条记录请问该如何设置呢?
 
应该在DATAPROIDER设ProviderFlags
没找到KEY值是因为你没有设pinkey字段
 
后退
顶部