Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#3

Re: In Access gespeicherte SQL-Abfragen mit Parametern aufru

  Alt 3. Jan 2009, 22:01
Vielen Dank für Deine Antwort. Leider müssen wir mit der Access-DB arbeiten, da in dieser auch noch Tabellen drin sind, die Grundlage für weiteres Vorgehen sind.

Ich habe nun auch schon gefunden, dass man mit AdoQuery und AdoDataset in einer mdb-Datein gespeicherte Abfrage ansprechen kann und denen Parameter übergeben kann. Leider erhalte ich immer die Fehlermeldung, dass der Parameter in meiner Abfrage nicht gefunden werden kann. Folgende Daten nutze ich:

gespeicherte Abfrage in Access (qer_tv_schedule) -> Parameter am Ende xMeetingId
SQL-Code:
SELECT runde.Startzeit, disziplin.Name AS DISZIPLIN, kategorie.Name AS KAT, rundentyp.Name AS RUNDE, runde.Status, runde.xRunde, runde.xWettkampf, runde.Gruppe, wettkampf.xDisziplin, wettkampf.xKategorie
FROM (((runde INNER JOIN rundentyp ON runde.xRundentyp=rundentyp.xRundentyp) INNER JOIN wettkampf ON runde.xWettkampf=wettkampf.xWettkampf) INNER JOIN disziplin ON wettkampf.xDisziplin=disziplin.xDisziplin) INNER JOIN kategorie ON wettkampf.xKategorie=kategorie.xKategorie
WHERE wettkampf.xMeeting = :xMeetingId;
Delphi-Quellcode:
  with dm.ADODataSet1 do
    begin
      Close;
      CommandType := cmdTable;
      CommandText := 'qer_tv_schedule';
      Parameters.ParamValues['xMeetingId'] := lbl_meeting_id.Caption;
      Open;
    end;
Fehlermeldung:
Im Projekt Projekt.exe ist eine Exception der Klasse EDatabaseError aufgetreten. Meldung: 'ADODataSet1: Parameter 'xMeetingId' nicht gefunden'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.

Seht mir Fehler bitte nach, da ich das zum ersten mal mache. Aber eigentlich könnt Ihr ja sehen, dass der Parameter namenstechnisch im Access-File vorhanden ist und auch so im Delphi angegeben wird. Ideen?
Danke
Tom
  Mit Zitat antworten Zitat