Delphi的版本是7。
我正在向MySQL数据库发送查询。可以返回的是一组数据行或只是一个空集。没什么不寻常的。但我不知道如何建立一个检查机制来检查它是一组数据还是空集。
以下是一些代码:
var
Q: TADOQuery;
begin
Q := TADOQuery.Create(self);
Q.Connection := ADOConnection;
Q.SQL.Add('CALL get_shopping_cart_list()'); // Call stored procedure
Q.Open; // Send query and get some
// results back
// PSEUDOCODE
// IF get_shopping_cart_list() RETURNS A NON-EMPY SET THEN
// SHOW WHAT WE HAVE
// ELSE
// SHOW A MESSAGE THAT SAYS 'EMPTY SET'
Q.Free;
end;
答案 0 :(得分:5)
根据Delphi版本,它可以是
if Q.IsEmpty then ...
或
if Q.BOF and Q.EOF then ...
您还可以深入了解Microsoft ADO。只要您的查询中没有多个语句,Q.RecordSet.EOF
和Q.RecordSet.BOF
就应该这样做。
另外请不要忘记保护内存管理错误。
Q := TADOQuery.Create;
try
.... do this or that ....
.... do this or that ....
.... do this or that ....
finally
Q.free;
end;