我原来是连接table 将resolvetodata设为true,就可以
可如果是连接query却不行,这是为何?
可如果是连接query却不行,这是为何?
解决方案 »
- apdcomport设置接收缓冲区的问题
- KeyDown事件
- waitforsingleobject的问题
- 怎样才能求得一个汉字的ASCII码?
- 一个update语句,加急
- 能帮忙介绍一些关于delphi中Tree_view控件的相关文献吗?
- 请问谁能够告诉我建立索引表比没有建立索引的表查询速度快在那里?
- 请教取得自从开机到现在CPU运行的周期数
- 关于delphi中合并dll的问题
- 能够在panel 上画图形吗? panel 从tcustomControl 而来, tcustomControl是有Canvas 属性,但是panel 没有, 如何在panel画图形呢
- 送分!有谁知道delphi怎么在程序中创建ODBC连接的吗?
- 有关于函数....
resolvetodata需要服务端处理数据更新过程,ADOQuery是可以的,Query可能要用CachedUpdates才行,你试试
中间层(远程数据模块):tquery只改数据库别名,其它属性不动,tdatasetprovider改
allowcommandtext为true,改dataset为tquery
客户端tclientdataset改remoteserver为你的remoteserver,改providername为
tdatasetprovider,其它都不动就可以了
附加一句:dana,你的三层问题真是多
附加二句:我学delphi半年,最先就接触三层
我也是设置和你一样,不过我用的是paradox数据库,执行了applyupdates(-1)就出现这样了,
不知是什么原因?
上次你说ProviderFlags的pfWhere、pfUpdate 属性设为false就可以,可现在我又不行了不知是什么原因。
pfWhere对于主键字段都要设为True。
pfUpdate对于需要更新的字段都要设为True。
你能不能模拟一下DBDEMOS下的一个表,做个示范程序给我看呢?
请收Email。
procedure TDZZB_FOR.DBG1ColExit(Sender: TObject);
begin
WITH DZ_QY1_cds DO
BEGIN
BK:=GETBOOKMARK;
DisableControls;
FIRST;
WHILE NOT EOF DO
BEGIN
DZZB_FOR.II:=DZZB_FOR.II+fieldbyname('IIII').AsFLOAT;
DZZB_FOR.OO:=DZZB_FOR.OO+fieldbyname('OOOO').AsFLOAT;
NEXT;
END;
//
ApplyUpdates(-1);
EnableControls;
GOTOBOOKMARK(BK);
FREEBOOKMARK(BK);
END;end;
因为我将这段代码放在这里就会出现前面讲的那样,
可我将这段代码放在formclose时提交就不会出错了,那这是什么原因?
http://www.csdn.net/expert/TopicView.asp?id=250553
可是我发现在同一个dbgrid中只要执行了两次applyupdates(-1)
实际数据库数据就和dbgrid中的数据不一致了,如何将CDS的DELTA清除掉。
2、applyupdates后,Delta被自动清空了。如果需要手动清空,要用mergechangelogs.
可当有提交数据时数据经常乱了。
mergechangelogs. 这个如何用?
我在验证你的程序发现,如果输入完数据,按Tab键,那么数据就提交了。而按上、下键数据没有提交,这个时候刷新就发现不对了。cds.MergeChangeLog;