, was Sie brauchen, ist zuerst „Ausführen“ die SQL zu tun, dann für Ergebnis überprüfen, wenn das Ergebnis vorhanden ist, dann speichern Sie es in einer Variablen, hier ist was ich meine:
procedure ...;
var
LCount: Integer;
begin
LCount := 0;
//
// note that I am doubling the single quote to escape it
//
// set the query
UniQuery1.SQL.Text := 'SELECT COUNT(*) FROM Orders WHERE Amount=''1000'';';
//
// "execute" it
//
UniQuery1.Open;
//
// SELECT COUNT(*) will return 1 record with 1 field
// most likely the field name is 'count' <= lower case
// but we are sure that there should be only 1 field so we
// access it by Fields[Index].As[TYPE]
//
LCount := UniQuery1.Fields[0].AsInteger;
ShowMessageFmt('Total count of orders with Amount = 1000: %d', [LCount]);
end;
EDIT: danke für Hinweis darauf, dass "COUNT" immer eine Rückkehr haben wird.
Ehm, was? Ich denke, du meinst etwas wie 'UniQuery1.Fields [0] .AsInteger', wenn du in der ersten Zeile deines Datasets bist, aber wir wissen nicht einmal, welcher Typ das' UniQuery1' ist. – TLama
@TLama UniQuery1: TUniQuery, er/sie verwendet die UniDAC-Komponenten von http://www.devart.com/unidac/ – ComputerSaysNo
Vergessen Sie nicht, die Antworten zu akzeptieren, die Ihre Fragen lösen ['this way'] (http://meta.stackexchange.com/a/5235/179541). Es wird den zukünftigen Besuchern helfen, die richtige Lösung zu erkennen. Danke und viel Spaß mit StackOverflow! – TLama