为何不能更新记录?大虾们帮帮忙了(100分)

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

sijun8177

Unregistered / Unconfirmed
GUEST, unregistred user!
当TDataSetProvider.ResolveToDataSet=True时,客户端不能更新数据所有的ReadOnly都设置为False包刮TdataBase,TDataSetProvider,TClientDataSet,TQuery.RequestLive设置为TRUE也没有用,而且无论是在应用服务器端的TQuery.Sql还是TClientDataSet.CommandText
中写如Sql语句获得的数据都不能修改.我看到Delta中的数据已经传送到应用服务器端且ProviderFlags都是包含pfInUpdate的,倒底是怎么回事啊?
哪位高手能帮我看看啊
 
当TDataSetProvider.ResolveToDataSet=True时,客户端不能更新数据.所有的ReadOnly都设置为False包刮TdataBase,TDataSetProvider,TClientDataSet,TQuery.RequestLive设置为TRUE也没有用,而且无论是在应用服务器端的TQuery.Sql还是TClientDataSet.CommandText
中写入Sql语句获得的数据都不能修改.我看到Delta中的数据已经传送到应用服务器端且ProviderFlags都是包含pfInUpdate的,倒底是怎么回事啊?
哪位高手能帮我看看啊
怎么还没人回答我的问题啊,是不是太简单了不削回答还是分不够啊!
 
我遇到的问题是能增加,但不能修改?
 
TDataSetProvider.ResolveToDataSet 默认为false,这时会由TDataSetProvider直接产生SQL语句来对数据进行操作,而TDataSetProvider.ResolveToDataSet 设为true时会把数据交给他的数据集来做进一步处理,所以数据不会更改。
不知道说明白没有,我也遇到过,后来看李维书上是这么写的。
 
李维书我也看过,上面也有TDataSetProvider.ResolveToDataSet=True的例子,在例子当中他的TDataSetProvider和TQuery并没有特别的设置也没有添加SQL语句到TQuery中去,只是在XXXXXPost事件中加了一些标记已表明确实是通过TQuery修改数据的难道是他例子写错了?
 
我也遇到了.同样的问题.我发现只有通过commandtext进行更新,数据才能保存.可能是因为通过commandtext或sql取到客户端的数据不包含表格名称的信息,所以数据无法正常返回给服务器.不过能过table->TDataSetProvider 这种方式是可以保存的.因为特定的table对应到特定的表格.返回到服务器的记录,会跟据特定表格的结构自动生成sql语句,进行提交.
 
我个人觉得还是在服务端自己写代码进行更新最好!虽然多点编码!但稳定!
本人水平<=低手! ^-^
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部