怎么能让记录集既可以动用指针又可以修改(80分)

  • 主题发起人 主题发起人 绯红之王
  • 开始时间 开始时间

绯红之王

Unregistered / Unconfirmed
GUEST, unregistred user!
aQuery : tadoquery;

aQuery := TADOQuery.Create(nil);
aQuery.Connection := flogin.adoconnection1;
aQuery.SQL.Add(sql);
aquery.Close;


1: aquery.open;
2: aquery.ExecSQL;
1、2两种都可以得到查询结果
但是用第一种,无法使用aquery.edit aquery.post 运行说缺乏基本表的信息
而用第二种 aquery.Recordset.movefirst就报错
怎么处理
我的目的是在查询的结果中,逐行过滤,有的要删除,有的要修改其中的字段,并且在另外一张表上生成变更信息
之所以要在aquery中过滤是因为查询的时间比较长
 
2: aquery.ExecSQL;
不能返回结果集,只能用第一种

但是用第一种,无法使用aquery.edit aquery.post 运行说缺乏基本表的信息
一个可能是你的数据库表有问题,还有一个就是你的表没有主键,这个可能性比较大
 
不是adoquery显示的是多表联接的查询结果呀?这样的话在更新结果时就会出现缺少更新....呵呵中!在多表联接时加入每个表的主键可以解决这个问题!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
666
import
I
I
回复
0
查看
796
import
I
后退
顶部