Delphi 数据库查询,TADOQuery

在一个程序中你会多次查询数据库的,因此在你写的查询方法中定义一个局部的ADOQuery就可以了,它返回一个数据集_RecordSet。最简单的应用如下:

function GetData: _RecordSet; //获取一张表中的全部数据(_RecordSet是一种类型)

var

TaADOQ: TADOQuery; //声明

begin

TaADOQ:= TADOQuery.Create(nil); //创建

TaADOQ.Connection := ADOCon; //意思是ADOQuery连接数据库时用ADOConnection建立好的连接。

TaADOQ.SQL.Text := 'select * from TableName';

TaADOQ.Open; //执行查询,如果是增、删、改则用pADOQ.ExecSQL

Result := TaADOQ.Recordset; //函数返回结果

end;

接下来是怎样用这个返回的结果集。

在用的地方再次声明一个ADOQuery,用于接收这个返回的结果集。(当然也可以直接使用)

var

TaADOQ: TADOQuery;

TaItem: TListItem; //一个listview,用于显示记录

begin

TaADOQ:= TADOQuery.Create(nil);

TaADOQ.RecordSet := GetData; //将结果集赋给pADOQ

if TaADOQ.RecordCount <= 0 then exit; //结果集为空,退出

TaADOQ.First ; //将游标放到结果集的第一条记录

while not ADOQuery.Eof do //开始循环结果集(当该条记录不是最后一条时)

begin

TaItem:= lvMain.Items.Add; //在listview中加一行

TaItem.Caption := Trim(ADOQuery.FieldByName('patid').AsString);

TaItem.SubItems.Add(ADOQuery.FieldByName('patname').AsString);

TaADOQ.Next; //游标移动到记录的下一条

end;

end;