在delphi7中,ADOconnection与ADOQuery都是用来干什么的,有什么联系或者区别吗?

本人初学者,没太搞懂,望别介意。。。。。最好说的通俗易懂些,特别感谢!
最新回答
你久居我心却不曾交过房租

2024-10-17 10:43:12

AdoConnection 用来连接数据库的,主要属性为ConnectionString
AdoQuery 用来执行SQL语句的,主要属性为Connection

简单来说,你要操作数据库,肯定要先连接数据库,然后再执行SQL语句。
可以先用Adoconnnection连接数据库,然后将AdoQuery的Connection属性设置为Adoconnnection即可;

adoconnection1.ConnectionString := 'Provider=SQLOLEDB.1;Password=***;Persist Security Info=True;User ID=sa;Initial Catalog=database1;Data Source=127.0.0.1';
ADOQuery1.Connection := ADOConnection1;
ADOConnection1.Open;
ADOQuery1.SQL.Add('select * from table1');
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
//get value
ADOQuery1.Next;
end;
可以直接动态创建Adoquery,然后设置其ConnectionString属性,就相当于连接了Adoconnnetion;

var
FAdoquer : TadoQuery
begin
FADoquery := TADOQuery.Create(nil);
FADoquery.ConnectionString := 'Provider=SQLOLEDB.1;Password=***;Persist Security Info=True;User ID=sa;Initial Catalog=database1;Data Source=127.0.0.1';
FADoquery.SQL.Add(str_sql);
FADoquery.Open;
while not FADoquery.Eof do
begin
//get value
FADoquery.Next;
end;
end;
追问
先表示感谢~~~那在ADOQuery里设置ConnectionString了是不是就用不着ADOconnection了?
追答
可以这么理解,一般用AdoConnection是控件的形式,用ConnectionString就相当于用代码连接;

Adoconnnection有一些其他的属性,例如ConnectionTimeOut连接超时秒数,KeepConnection保持连接;Adoquery的话,查询一次就返回了,不能保持连接,下次使用的话还需要重新连接,而AdoConnection不需要;看你的用途是怎样的了。