Ich versuche, eine gespeicherte Prozedur auf SQL Server von einem MFC-basierten C++ - Programm auszuführen. Die gespeicherte Prozedur wird ordnungsgemäß ausgeführt, aber in meinem Programm wird eine Ausnahme ausgelöst, eine CDBException mit einer Nachricht von "Function sequence error". Wenn Sie den MFC-Quellcode für CRecordset :: Open durchsuchen, wird die Ausnahme von MoveNext ausgelöst. Dies ist sinnvoll, da meine gespeicherte Prozedur keine Ausgabe generiert.Wie Stored Procedure ohne Ausnahme von CRecordset :: Open ausgeführt wird ausgeführt werden?
habe ich sowohl Ein- und Ausgangsparameter an die gespeicherte Prozedur, so kann ich nicht CDatabase :: ExecuteSQL wie in dieser Frage vorgeschlagen: With CDatabase, can I send SQL without using CRecordSet?
auf Ihre Punktzahl Sehen, könnte meinen Vorschlag dumm klingen. Sie können die gespeicherte Prozedur ändern, um 1 zurückzugeben (d. H. SELECT 1 am Ende). – shahkalpesh
Ich weiß nicht, ob das funktioniert. Aber du könntest den Aufruf von SP mit SELECT 1 kombinieren (z. B. mystoredproc @x, @y; SELECT 1) – shahkalpesh
@shahkalpesh - nicht so blöd, wenn du es als Antwort gelassen hättest, hätte ich ihm einen Upvote gegeben. Und lassen Sie sich nicht durch die Rechnung irreführen, ich wette, es gibt sogar ein paar Dinge, die Jon Skeet nicht kennt. –