Проблема спараметром хранимой процедуры. - VB
Формулировка задачи:
Есть хранимая процедура с параметром:
CREATE PROCEDURE dbo.sp_showcont
@num_cont char
AS
SET NOCOUNT ON
select Номер_контейнера, Фидерный_теплоход, Дата_прихода, Получатель, Клиент from baze..main where Номер_контейнера=@num_cont
GO
Кусок кода который ее вызывает:
Private Sub Command2_Click()
Dim i As Integer
Dim str As String
rs_temp.Close
Set rs_temp = Nothing
For i = 0 To List1.ListCount
If List1.Selected(i) Then
rs.Close
Set rs = Nothing
Set rs = New ADODB.Recordset
rs.ActiveConnection = cnn
rs.CursorLocation = adUseClient
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_showcont"
cmd.Parameters.Refresh
str = List1.List(i)
rs.Open cmd, , adOpenDynamic, adLockOptimistic
Form1.Grid.DataSource = rs
Me.Hide
Form1.Enabled = True
Exit Sub
End If
Next i
End Sub
В выделенной строке выдает ошибку:
Тип вроде и там и там символьный.
Что может быть?
Заранее спасибо.
CREATE PROCEDURE dbo.sp_showcont
@num_cont char
AS
SET NOCOUNT ON
select Номер_контейнера, Фидерный_теплоход, Дата_прихода, Получатель, Клиент from baze..main where Номер_контейнера=@num_cont
GO
Кусок кода который ее вызывает:
Private Sub Command2_Click()
Dim i As Integer
Dim str As String
rs_temp.Close
Set rs_temp = Nothing
For i = 0 To List1.ListCount
If List1.Selected(i) Then
rs.Close
Set rs = Nothing
Set rs = New ADODB.Recordset
rs.ActiveConnection = cnn
rs.CursorLocation = adUseClient
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_showcont"
cmd.Parameters.Refresh
str = List1.List(i)
cmd.Parameters("@num_cont") = str
rs.Open cmd, , adOpenDynamic, adLockOptimistic
Form1.Grid.DataSource = rs
Me.Hide
Form1.Enabled = True
Exit Sub
End If
Next i
End Sub
В выделенной строке выдает ошибку:
Application uses a value of the wrong type for the current operation
Тип вроде и там и там символьный.
Что может быть?
Заранее спасибо.
Решение задачи: «Проблема спараметром хранимой процедуры.»
textual
Листинг программы
<font color="blue">Set</font> p1 = cmd.CreateParameter(<font color="teal">"@num_cont"</font>, adVarChar, adParamInput, <font color="darkblue"><b>255</b></font>) p1.value = List1.List(i) cmd.Parameters.Append p1 <font color="blue">set</font> rs = cmd.execute
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д