如何获取SQL查询的结果?

时间:2011-12-16 10:07:25

标签: delphi dataset iteration delphi-2010

使用Delphi 2010,我使用TSQLQuery和TSQLConnection连接到远程MySQL服务器。我使用了如下SQL查询:

SQLQuery1.SQL.Text := 'SELECT * FROM registered WHERE email="'+email+'" and login_pass="'+password+'"';

SQLQuery1.Open; // Open sql connection

如何列出或显示此查询选择的数据?

当我输入

SQLQuery1['who']; // The resault is : James Kan

我认为它显示的是列表中的最后一项。但我希望显示每个项目,就像我在PHP中使用foreach循环一样。我怎样才能为每个项目创建一个TLabel?

2 个答案:

答案 0 :(得分:12)

您只需遍历结果集,如

SQLQuery1.Open;
SQLQuery1.First; // move to the first record
while(not SQLQuery1.EOF)do begin
   // do something with the current record
   ...
   // move to the next record
   SQLQuery1.Next;
end;

答案 1 :(得分:1)

您可以使用TDBGrid整齐地显示结果。您需要一个数据源,该数据源通过数据源的DataSet属性链接到查询。然后,DBGrid通过DBGrid的DataSource属性链接到dataSource。