如何获得Delphi的TQuery结果?

数据库

当我在数据库中运行以下查询时:

SELECT T.ID
FROM TABLA T
WHERE ID=3

Resutl:

No rows returned

现在我尝试在Delphi中显示消息说:“记录不存在”。

在表单中我有一个组件TQuery调用qValidacion成功连接数据库Oracle 11g。

试试1

procedure TfPrueba.ButtonAceptarClick(Sender: TObject);
begin
    qValidacion.Close;
    qValidacion.SQL.Add('SELECT T.ID');
    qValidacion.SQL.Add('FROM TABLA T');
    qValidacion.SQL.Add('WHERE ID=3');
    qValidacion.Open;
    qValidacion.First;
    if (not qValidacion.Eof) then 
        begin
             ShowMessage('The record not exist'); //It Should display the message, but does not show
        end;
    qValidacion.SQL.Clear;
end;

如果你想检查它们是否是你的查询中的任何记录,请不要使用qValidacion.EOF,而应该使用qValidacion.IsEmpty

if (qValidacion.IsEmpty) then 
begin
  ShowMessage('The record not exist'); 
end;

EOF函数在您到达DataSet的末尾时返回true。 例:

qValidacion.First;
while not qValidacion.eof do
begin
 // do Something with the current record.
 qValidacion.next
end;

编辑1:使用IsEmpty确实更干净。 感谢Arioch'The

链接地址: http://www.djcxy.com/p/35087.html

上一篇: How to get results of a TQuery en Delphi?

下一篇: How to prevent a certain Virtual StringTree NodeLevel from being dragged?