Thema: Delphi Stored procedure aufruf

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Stored procedure aufruf

  Alt 4. Jun 2005, 19:01
Doch, das kann was werden. Weil er auf die MSDE zugreifen will, und nicht auf Firebird. Es ist soweit alles korrekt. Versuchs mal mit ExecProc. Weiterhin brauchst du keine StrToInt Umwandlung. Die Schweinebacke von MSDE kriegen wir schon zum Laufen.

Weiterhin bringst du etwas durcheinander: Prozeduren, Funktionen und Views. Was Du machen willst (Select * from <Procedure> geht mit der MSDE so nicht. Wenn Du sowas machen willst, benutzt Du eine VIEW.

Also: Stored Procedures können Ergebnismengen zurückliefern, oder Parameter. So, wie Du es gemacht hast, ist es vollkommen richtig. Dein 'CREATE PROZEDURE' ist korrekt, und eigentlich sollte der Aufruf mit 'TADOStoredProc' auch korrekt sein. Jedenfalls fast. Du solltest ExecProc nehmen, statt Open.
Warum? Die Stored Procedure liefert ja einen Parameter zurück, und keine Ergebnismenge (z.B. eine Tabelle). Deshalb meckert ADO. Open erwartet IMMER eine Tabelle als Resultat (die darf auch leer sein). ExecProc nicht.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat