三层巢式数据结构 主从表 更新数据?(60分)

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

sunrainwang

Unregistered / Unconfirmed
GUEST, unregistred user!
三层结构中,有一巢式数据结构,在中间层设置为主从表(用QUERY的where和主表的datasource),
当主表的SQL只有一个表的时候可以更新数据,但sql from 两个以上的表的时候就不能?
我数据库连接用BDE
 
自己写中间层更新语句
 
你在中间层自己写一个不就好了吗?
批量更新。。。
 
>>但sql from 两个以上的表的时候就不能?我数据库连接用BDE
这与两层或者三层没关系。用QUERY时,它不能更新关连或者用聚集函数的SQL语句。
如果是这样的情况,你要自己处理更新。。。
 
批量更新,怎么写?
 
用UpdateSQl组件,或者BeforeUpdateRecord事件中自己写SQL
 
如果只是更新主表SQL中From的表用UpdateSQl组件,或者BeforeUpdateRecord事件中写SQL
是可以的,但我要更新从表的记录,从表依附在主表的datasetfield中??
 
procedure TProducts.DataSetProvider1BeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet;
DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind;
var Applied: Boolean);
begin
if SourceDS = 主表名 then
begin
// 更新主表
end else
if SourceDS = 从表名 then
begin
// 更新从表
end;
end;
 
这个问题很简单,将DataSetProvider控件的ResolverToDataSet属性设置为True即可
 
他用的是QUERY,将DataSetProvider控件的ResolverToDataSet属性设置为True不行的。
 
to wumeng:
你知道怎么弄吗?
 
你可以看一下李维的书上是怎么说的,我用的是ADO作的。但我以前作两层的时候用的是
BDE,那时候是自己写SQL语句处理的。
 
看来网络上说不明白,算了,散分
 
顶部