我使用的是ORACLE 9数据库,开发语言是delphi6
通过Tsqldataset- Tdatasetprovider-Tclientdataset 连接到数据库
我希望在Tdatasetprovider中提取到Tclientdataset.Delta数据,
并对变化的数据生成SQL语句存放在如下表中:---------------------------------
序号 | sql语句 | 是否使用标志
---------------------------------请问如何实现?
最好附上源代码。
谢谢!
通过Tsqldataset- Tdatasetprovider-Tclientdataset 连接到数据库
我希望在Tdatasetprovider中提取到Tclientdataset.Delta数据,
并对变化的数据生成SQL语句存放在如下表中:---------------------------------
序号 | sql语句 | 是否使用标志
---------------------------------请问如何实现?
最好附上源代码。
谢谢!
除非生成SQL语句的过程是一个模式~~~~~~ 那么用一定格式的表达式可以完成填写,然后写入表格即可~~~~~ 但是如果数据流向的每种情况都不一样,你怎么办~~~~~~?
将Tclientdataset中的delta数据赋给Tdbgrid,根据数据状态加适当的标志
然后根据dbgrid中的每一条记录的情况生成SQL语句。
并对变化的数据生成SQL语句存放在如下表中:---------------------------------
序号 | sql语句 | 是否使用标志
---------------------------------请问如何实现?
最好附上源代码。---对变化的数据生成SQL语句,光是这一个功能就很难实现了呀
这还是做一个动态生成SQL语句的模块了
var OwnerData: OleVariant);
begin
OwnerData (传入的修改数据集)
end;procedure TForm1.ClientDataSet1BeforeApplyUpdates(Sender: TObject;
var OwnerData: OleVariant);
begin
OwnerData:=ClientDataSet1.Delta;
end;其实以你的需求,何不直接在数据库中写一个触发器呢,简单省事。
若了解就比较容易,若不了解就有点麻烦,不过李维的三层结构的书里有比较好的解释,你可以去看一下.了解DELTA的数据存储形式后,按照俺说的去做,绝对没什么问题,就是打开数据集循环读记录,分析和写SQL语句记录的事情了.