Heim >Backend-Entwicklung >C++ >Wie rufe ich Ausgabeparameter aus gespeicherten SQL Server-Prozeduren in C# ab?
Verwendung gespeicherter Prozedurausgabeparameter in C#
Beim Abrufen von Daten aus einer gespeicherten SQL Server-Prozedur müssen Sie häufig auf die Ausgabeparameter der gespeicherten Prozedur im C#-Code zugreifen. Allerdings kann es eine Herausforderung sein, zu verstehen, wie man dies effektiv umsetzen kann.
Stellen Sie sich eine gespeicherte Prozedur namens usp_InsertContract
vor, die neue Datensätze in die Tabelle Contracts
einfügt und den zugewiesenen Primärschlüssel als Ausgabeparameter zurückgibt:
<code class="language-sql">CREATE PROCEDURE usp_InsertContract @ContractNumber varchar(7), @NewId int OUTPUT AS BEGIN INSERT into [dbo].[Contracts] (ContractNumber) VALUES (@ContractNumber) Select @NewId = Id From [dbo].[Contracts] where ContractNumber = @ContractNumber END</code>
Um diese gespeicherte Prozedur in C# auszuführen, können Sie den folgenden Codeausschnitt verwenden:
<code class="language-csharp">using System.Data; using System.Data.SqlClient; public class StoredProcedureOutputParameterExample { public static void Main() { // 定义连接字符串并初始化连接。 string connectionString = "Server=localhost;Database=MyDatabase;User Id=sa;Password=mypassword;"; using (SqlConnection connection = new SqlConnection(connectionString)) { // 创建命令对象。 using (SqlCommand command = new SqlCommand("usp_InsertContract", connection)) { // 将命令类型设置为StoredProcedure。 command.CommandType = CommandType.StoredProcedure; // 向命令添加输入参数。 command.Parameters.Add(new SqlParameter("@ContractNumber", SqlDbType.VarChar, 7) { Value = "ABC123" }); // 向命令添加输出参数。 SqlParameter newIdParameter = new SqlParameter("@NewId", SqlDbType.Int) { Direction = ParameterDirection.Output }; command.Parameters.Add(newIdParameter); // 打开连接并执行命令。 connection.Open(); command.ExecuteNonQuery(); // 检索输出参数值。 int newId = (int)newIdParameter.Value; // 使用输出参数值。 Console.WriteLine($"New ID: {newId}"); } } } }</code>
In diesem Codeausschnitt werden die Objekte SqlConnection
und SqlCommand
verwendet, um eine Verbindung zur Datenbank herzustellen und die gespeicherte Prozedur auszuführen. Fügen Sie dem Befehl den Eingabeparameter @ContractNumber
hinzu, erstellen Sie einen Ausgabeparameter @NewId
und setzen Sie dessen Direction
-Attribut auf ParameterDirection.Output
.
Nach dem Ausführen der gespeicherten Prozedur kann der Ausgabeparameterwert mithilfe des Value
-Attributs des Parameters abgerufen werden. Der abgerufene Wert kann dann im C#-Code verwendet werden.
Indem Sie diese Schritte befolgen, können Sie Ausgabeparameter gespeicherter Prozeduren in C#-Code effektiv verwenden, um Daten aus einer gespeicherten SQL Server-Prozedur abzurufen.
Das obige ist der detaillierte Inhalt vonWie rufe ich Ausgabeparameter aus gespeicherten SQL Server-Prozeduren in C# ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!