Ich möchte einen Wert drucken, der von SQL Server zurückgegeben wird.
%Vor%Diese Abfrage gibt entweder die Anzahl der betroffenen Zeilen oder Duplizieren
zurück Ich möchte dieses Duplikat in C # in MessageBox.Show()
Ich kann nicht dr
dafür verwenden. Bitte helfen Sie mir, Duplikate hier zu drucken
MessageBox.Show (dr);
Was muss ich hier tun?
Unter Verwendung von ADO.NET gibt es vier Optionen zum Zurückgeben von Informationen aus einer SQL-Abfrage:
Dies sind alle Methoden, die von Ihrem Befehlsobjekt aufgerufen werden.
Es gibt viele verschiedene Möglichkeiten, eine Katze zu häuten, Sie können Ausgabeparameter verwenden, Sie können ExecuteScalar verwenden, Sie können Rückgabewerte verwenden oder Sie können Dummy-Recordsets verwenden.
Sie sollten in der Lage sein, Folgendes in Ihrem C # zu erhalten, um den Rückgabewert einer Abfrage zu erhalten:
%Vor%Der Code über dem fängt den Rückgabewert ein, den Sie nach Belieben einstellen können, vielleicht mit einer 0 für exists und einer 1 für exists.
%Vor%Es gibt jedoch einen kleinen Vorbehalt mit dem obigen Hinweis - ich verwende normalerweise entweder ein ORM wie Linq-to-SQL oder NHibernate oder ich verwende Stored Procedures. Ich finde Inline-SQL ziemlich umständlich. Also, während meine Antwort im Allgemeinen solide sein sollte, werden Sie wahrscheinlich einige Details durcharbeiten müssen, damit es genau so funktioniert, wie Sie es brauchen.
ein paar Jahre zu spät, aber Sie sollten Print / Info Text (wie ursprünglich gefragt) abrufen können, indem Sie einen Eventhandler an die InfoMessage-Ereignis für das SqlConnection-Objekt -
Aber tun Sie das nur, wenn Sie nicht (aus irgendeinem Grund) die in diesem Thread erwähnten Alternativen verwenden können.
%Vor%Tags und Links c# winforms sql-server-2005 ado.net database-connectivity