Sql 语句是从两个表中检索出数据,这样的AdoQuery1能同时更新两个表吗? ( 积分: 50 )

  • 主题发起人 主题发起人 phpb
  • 开始时间 开始时间
P

phpb

Unregistered / Unconfirmed
GUEST, unregistred user!
ADOQUERY1的sql语句如下:
select a.col1,a.col2,b.col1,b.col2,a.col3*a.col4
from table1 as a,table2 as b
where a.col1=b.col2

ADOQUERY1是批量更新的,adoquery1.updatebatch后能同时保存对两个表的修改吗?
 
ADOQUERY1的sql语句如下:
select a.col1,a.col2,b.col1,b.col2,a.col3*a.col4
from table1 as a,table2 as b
where a.col1=b.col2

ADOQUERY1是批量更新的,adoquery1.updatebatch后能同时保存对两个表的修改吗?
 
肯定不行的,会报错的!用ADOCOMMAND写SQL语句更新!
 
可以,ADO能够自动分解为两个SQL去更新,就像下面这样:
Update a set ..=.. where col1=..
Update b set ..=.. where col2=..
....
...
在李维的DELPHI5.X ADO/MTS/COM+ 一书中有说
 
自己先测试一下,不行吗?
 
好像不行吧,用commandText
 
如果数据库是SQLSREVER,使用ADO是可以的!
 
两层可以,好象放到三层就不行啦,而且三层里用ADO,设置DataSetProviderup的updatemode为WhereKeyOnly,客户端提交修改会报错,请问各位大富翁在三层中多表连接查询的更新和根据主键定位更新怎么实现(ADO)?
 
我试了,不行的,是为什么呢?是因为有计算字段吗?
 
你这样肯定是不行的,把a.col3*a.col4去掉,放到ADOQuery里边定义。
 
Walnut_Tom : 放到 ADOQUERY1里面定义成计算字段就可以更新两个表了.
感谢大家~~~~~~~~~
 
哪有李维的DELPHI5.X ADO/MTS/COM+?
 

Similar threads

后退
顶部