Эй, все это первый раз, когда я вызываю хранимую процедуру через vb.net, и я хотел бы убедиться, что у меня все правильно, прежде чем я ее выполню.
Это мой код:
Dim connectionString As String = GetConnectionString()
Dim intCount As Integer = 0
Using connection As New SqlConnection(connectionString)
Dim command As SqlCommand = connection.CreateCommand()
Try
connection.Open()
command.CommandType = CommandType.StoredProcedure
command.CommandText = "Complete_S_H"
command.Parameters.Add("@J_ID", SqlDbType.Int)
command.Parameters.Add("@O_Nbr", SqlDbType.VarChar)
command.Parameters.Add("@R_Nbr", SqlDbType.VarChar)
command.Parameters("@theOutput").Direction = ParameterDirection.Output
Dim dataReader As SqlDataReader = command.ExecuteReader()
Do While dataReader.Read()
ListView1.Items.Add(Trim(dataReader(0)))
ListView1.Items(CInt(intCount)).SubItems.Add(Trim(dataReader(1)))
ListView1.Items(CInt(intCount)).SubItems.Add(Trim(dataReader(2)))
ListView1.Items(CInt(intCount)).SubItems.Add(Trim(dataReader(3)))
ListView1.Items(CInt(intCount)).SubItems.Add(Trim(dataReader(4)))
ListView1.Items(CInt(intCount)).SubItems.Add(Trim(dataReader(5)))
intCount = intCount + 1
Loop
dataReader.Close()
connection.Close()
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Using
Хранимая процедура возвращает данные на 6 столбцов, и я хотел бы добавить эти данные в просмотр списка.Я не уверен, что у меня есть правильный синтаксис для этого, но это то, что я использовал в моем предыдущем коде sql (выполнение запроса, а не хранимой процедуры).
Кроме того, я не уверен, как получить данные для названий @xxx выше из текстового поля?Как передать значения в имена @xxx из текстового поля пользователя?
Код студии управления MS SQL для хранимой процедуры:
EXEC [dbo].[Complete_S_H]
@J_ID = 208660,
@O_Nbr = NULL,
@R_Nbr = NULL
Две из переданных переменных могут быть NULL.Нужно заполнить только один, чтобы он мог вернуть данные.
Любая помощь будет отличной!
Дэвид