Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ADOQuery Syntax um Ergebnismenge zu bekommen (https://www.delphipraxis.net/11083-adoquery-syntax-um-ergebnismenge-zu-bekommen.html)

Gambit 30. Okt 2003 19:04


ADOQuery Syntax um Ergebnismenge zu bekommen
 
Hallo,

ich möchte folgendes schreiben:

if ADOQueryBestand.AsInteger > 0 then begin...

Was muss ich denn vorher tun, damit ich in ADOQueryBestand.AsInteger eine Ergebnismenge bekomme?

Hatte es so probiert aber das geht ja nicht:


Delphi-Quellcode:
 ADOQuery.SQL.Text:= 'Select * from Tabelle WHERE ArtikelNr = 44';
      ExecSQL;

      if ADOQueryBestand.AsInteger > 0 then begin
Besten Dank

Gambit

r_kerber 31. Okt 2003 06:07

Re: ADOQuery Syntax um Ergebnismenge zu bekommen
 
Moin Gambit,

hast Du es schon mal mit
Delphi-Quellcode:
ADOQuery.Open;
versucht?

markon 31. Okt 2003 08:26

Re: ADOQuery Syntax um Ergebnismenge zu bekommen
 
hallo.
um die anzahl der datensätze auszugeben gibt es bei der ADOQuerry die eigenschaft
Code:
ADOQuerry1.RecordCount
diese ist nach dem der querry gefüllt ist abrufbar.
hier ein beispiel:
Delphi-Quellcode:
begin
  adoquery1.active:=false;
  adoquery1.sql.Clear;
  adoquery1.sql.text := 'select * from tabelle1 where name like "%'+ed_such.text+'%"';
  adoquery1.ExecSQL;
  adoquery1.active:=true;

  anzahl := adoquery1.RecordCount;  {anzahl vom typ integer}
end;
das ed_such.text ist ein normales edit-feld.
falls es noch fragen gibt, einfach posten.
gruß
marcus
:cheers:

Gambit 31. Okt 2003 09:10

Re: ADOQuery Syntax um Ergebnismenge zu bekommen
 
Danke! Kann ich denn jetzt für Select Anweisungen execSQL benutzen? Oder müsste ich über Open bzw close gehen?

Gruß

Gambit

Sharky 31. Okt 2003 09:14

Re: ADOQuery Syntax um Ergebnismenge zu bekommen
 
Zitat:

Zitat von Gambit
Danke! Kann ich denn jetzt für Select Anweisungen execSQL benutzen? Oder müsste ich über Open bzw close gehen?
...

Hai Gambit,

die Onlinehilfe meint:

Zitat:

Zitat von OnlineHilfe
Mit ExecSQL können Sie die SQL-Anweisung der Eigenschaft SQL ausführen. Verwenden Sie die Methode nur für Abfragen, die keine Ergebnismenge zurückgeben (z. B. INSERT, UPDATE, DELETE und CREATE TABLE).

In deinem Fall solltest Du also mit .close und .open arbeiten.

r_kerber 31. Okt 2003 09:15

Re: ADOQuery Syntax um Ergebnismenge zu bekommen
 
Hallo Gambit,

ein Blick in die OH zeigt:
Zitat:

Mit ExecSQL können Sie die SQL-Anweisung der Eigenschaft SQL ausführen. Verwenden Sie die Methode nur für Abfragen, die keine Ergebnismenge zurückgeben (z. B. INSERT, UPDATE, DELETE und CREATE TABLE).
[EDIT]Uuups, der Haifisch hat wohl eine schnelle Meeresströmung gefunden.[/EDIT]

markon 31. Okt 2003 09:24

Re: ADOQuery Syntax um Ergebnismenge zu bekommen
 
ok. stimmt schon, aber mit "ExecSQL" funzts auch. aber die ordentliche variante in diesem fall ist open und close.

Delphi-Quellcode:
begin
  //adoquery1.active:=false;
  adoquery1.sql.Close;
  adoquery1.sql.Clear;
  adoquery1.sql.text := 'select * from tabelle1 where name like "%'+ed_such.text+'%"';
  //adoquery1.ExecSQL;
  adoquery1.open;
  //adoquery1.active:=true;

  anzahl := adoquery1.RecordCount;  {anzahl vom typ integer} 
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz