Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Access gespeicherte Abfrage per ADO abfragen (https://www.delphipraxis.net/50135-access-gespeicherte-abfrage-per-ado-abfragen.html)

glunzl 21. Jul 2005 00:30

Datenbank: Access • Version: 2000 • Zugriff über: ADO

Access gespeicherte Abfrage per ADO abfragen
 
Moin Moin!

Ich suche nach einer Möglichkeit eine fertige abfrage in einer Access 2000 DB per ADO zu starten. Die Daten sollen anschließend in einem DBGrid dargestellt werden.
Per ADO Query und einer SELECT Abfrage kein Problem. Wenn ich aber ein ADOCommand benutze, die Connection richtig eintrage, CommandType cmdStoredProc wähle, bekomme ich in der Auswahlliste für CommandText nur 3 Abfragen aus der DB angezeigt, obwohl div. gespeichert sind. Wenn ich den Namen meiner Abfrage einfach eintrage, kommt es zu einer Exception "Abfrage nicht gefunden". Hat noch jemand eine Idee?

Gruß
MG

Bernhard Geyer 21. Jul 2005 07:04

Re: Access gespeicherte Abfrage per ADO abfragen
 
1, Nimm statt TAdoQuery/TAdoTable immer TAdoDataset. TAdoQuery/TAdoTable haben noch ein paar Bugs mehr als TAdoDataset.

2, Wenn deine Abfrage keine Parameter hat, so reicht doch TAdoDataset aus. Dann kannst du nämlich die Abfrage wie eine normale Tabelle verwenden.

jensw_2000 21. Jul 2005 08:18

Re: Access gespeicherte Abfrage per ADO abfragen
 
Alternativ auch mal die Suchfunktion in der DP bemühen ...

Beispiel Stored Proc

SQL-Code:
 CREATE PROCEDURE GetPositionen
  @AufNr INT = NULL;
AS
BEGIN
    SELECT PosNr, Bezeichnung, EP, Menge FROM Auftrag WHERE AufNr = @AufNr
END

END;
In Delphi würde ich das dann so aufrufen

Delphi-Quellcode:
Procedure OpenPosSP(AufNr:Integer;SP:TAdoStoredProc);
begin
  SP.Close;
  SP.Connection:=Datamodule1.AdoConnection1; // Hier deine AdoConn
  try
    SP.Procedurename:='GetPositionen';
    SP.Parameters.refresh;
    SP.Parameters[1].Value:=AufNr;
    SP.Open;
  Except
    on E:Exception do
      Showmessage(e.message);
  end;
ens;

// Edit: Delphi Codetags eingefügt

glunzl 21. Jul 2005 14:08

Re: Access gespeicherte Abfrage per ADO abfragen
 
Die 2. Antwort von Bernd löste das Klick im Hirn aus - Eine gespeicherte Abfrage ist wie eine Tabelle. Ich hatte dan Ansatz mit einer stored Procedure.

Dank an Alle!

MG


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 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