Delphi 数据库查询(TADOQuery)

来源:互联网 发布:mui框架开发实例源码 编辑:程序博客网 时间:2024/05/16 09:55


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

function GetData: _RecordSet;       //获取一张表中的全部数据(_RecordSet是一种类型)
var
pADOQ: TADOQuery;                            //声明
begin
pADOQ := TADOQuery.Create(nil);           //创建
pADOQ.Connection := ADOCon;   //意思是ADOQuery连接数据库时用ADOConnection建立好的连接。
pADOQ.SQL.Text := 'select * from TableName';
pADOQ.Open;           //执行查询,如果是增、删、改则用pADOQ.ExecSQL
Result := pADOQ.Recordset;    //函数返回结果
end;

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

var
    pADOQ: TADOQuery;
    pItem: TListItem;                            //一个listview,用于显示记录
begin
    pADOQ := TADOQuery.Create(nil);
    pADOQ.RecordSet := GetData;           //将结果集赋给pADOQ
    if pADOQ.RecordCount <= 0 then exit;    //结果集为空,退出
    pADOQ.First ;                                         //将游标放到结果集的第一条记录
    while not ADOQuery.Eof do                  //开始循环结果集(当该条记录不是最后一条时)
     begin
        pItem := lvMain.Items.Add;           //在listview中加一行
        pItem.Caption := Trim(ADOQuery.FieldByName('patid').AsString);
       pItem.SubItems.Add(ADOQuery.FieldByName('patname').AsString);
         pADOQ.Next;                     //游标移动到记录的下一条
end;