hatte ich das gleiche Problem, und ich arbeite in VB. Ich habe die Antwort von @ Scorpian275 ausprobiert. Dies ist die gleiche Lösung wie @ Scorpian275, aber für die VB. Der SQL-Teil ist der gleiche.
Public Shared Sub createConnection()
Dim con As SqlConnection = New SqlConnection("Data Source=ASHWIN\\SQLEXPRESS;Initial Catalog=employee;Integrated Security=True;Pooling=False")
con.Open
Dim cmd As SqlCommand = New SqlCommand("ashwin", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add(New SqlParameter("@empid", SqlDbType.Int, 10, "empid"))
cmd.Parameters.Add(New SqlParameter("@empname", SqlDbType.VarChar, 20, ParameterDirection.Output, false, 0, 20, "ename", DataRowVersion.Default, Nothing))
cmd.Parameters.Add(New SqlParameter("@age", SqlDbType.Int, 20, ParameterDirection.Output, false, 0, 10, "age", DataRowVersion.Default, Nothing))
cmd.Parameters(0).Value = 101
cmd.UpdatedRowSource = UpdateRowSource.OutputParameters
cmd.ExecuteNonQuery
Dim name As String = CType(cmd.Parameters("@empname").Value,String)
Dim age As Integer = Convert.ToInt32(cmd.Parameters("@age").Value)
Console.WriteLine("the name is {0}--and age is {1}", name, age)
Console.ReadLine
End Sub
Der letzte Parameter in cmd.Parameters.Add (New SqlParameter ("@ age", SqlDbType.Int, 20, ParameterDirection.Output, falsch, 0, 10, "Alter", DataRowVersion.Default, Nothing)) ist der Anfangswert, den wir für diese Variablen bereitstellen (Here Nothing).
Array zum Beispiel erste Idee. – Sajmon
nur OUTPUT Parameter – Shami
Ich glaube @mithrandir schlug vor, Sie sollten Ihren Code posten .... –