数据源的CachedUpdates已经设为True了,
解决方案 »
- 问两个DELPHI的集合型数据的问题
- query1.ParamByName('P1').asstring:=DATETIMEPICKER1.DATE; 怎么写才正确
- 一个panel失去焦点时关闭本身的问题,急!
- 如何用TFileStream读取文件呢?
- 再见,也许是永远(第一个留言100分,在线散!)
- 一个TTreeView的问题
- 刚升了一角,问一个小问题,主要是散分!
- 请教高人,我的delphi程序在编译时报range check error,找不出原因,很急,一定给分
- 怎样给另一台机器发消息
- 十万火急:在做安装程序时,怎样将帮助文件data.hlp也打包进去?
- 如下的代码可以显示出ie的“历史”浏览窗口,可是无法得到具体历史的url,使用Dispname属性无法得到。谢谢
- help me !!!!!!
嗨,用Query的Edit能修改记录?说说详细情况,大家讨论一下。
是的,我不知道Query的数据集可以修改。请问如何进行修改?
在NT40 + SP6 + SQL SERVER7下,我照你的做法可以行得通。详细如下: 控件有:
DataSource1: TDataSource;
Query1: TQuery;
Database1: TDatabase;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn; 属性如下:
Query1.RequestLive := true;
Query1.CachedUpdates := true;
其他为默认值。
在BitBtn1中的数据提交一切正常:
with Query1 do
begin
Database1.StartTransaction;
try
ApplyUpdates; {try to write the updates to the database};
Database1.Commit; {on success, commit the changes};
except
Database1.Rollback; {on failure, undo the changes};
raise; {raise the exception to prevent a call to CommitUpdates!}
end;
CommitUpdates; {on success, clear the cache}
end; 估计是你的版本有问题,或其他原因。
谢谢你,是你让我知道了RequestLive属性的用法。下次见。
在NT40 + SP6 + SQL SERVER7下,我照你的做法可以行得通。详细如下: 控件有:
DataSource1: TDataSource;
Query1: TQuery;
Database1: TDatabase;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn; 属性如下:
Query1.RequestLive := true;
Query1.CachedUpdates := true;
其他为默认值。
在BitBtn1中的数据提交一切正常:
with Query1 do
begin
Database1.StartTransaction;
try
ApplyUpdates; {try to write the updates to the database};
Database1.Commit; {on success, commit the changes};
except
Database1.Rollback; {on failure, undo the changes};
raise; {raise the exception to prevent a call to CommitUpdates!}
end;
CommitUpdates; {on success, clear the cache}
end; 估计是你的版本有问题,或其他原因。
谢谢你,是你让我知道了RequestLive属性的用法。下次见。
我的做法如下(开发环境Win98SE+Delphi3+SQL Server6.5):
控件:DataSource1: TDataSource;
Query1: TQuery;
DBGrid: TDBGrid;
属性设置:Query1的CachedUpdated设为True,RequestLive设为True;
DataSource1的AutoEdit设为True;
DBGrid的Options的dgEditing设为False;//不允许DBGrid进行编辑操作
其余为默认值;
这样子使得使得Query1始终处于编辑状态,但是DBGrid不能编辑,看起来还是和Query的浏览状态相同。
在要进行增加或者修改操作时,再把DBGrid的Options的dgEditing设为True;即允许DBGrid进行编辑,这样子就可以一次编辑操作同时修改多条记录,而且在焦点跳转到别的记录时不会自动Post。 再次谢谢大家!!!