powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема спараметром хранимой процедуры.
5 сообщений из 5, страница 1 из 1
Проблема спараметром хранимой процедуры.
    #33369607
strizzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть хранимая процедура с параметром:

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

Тип вроде и там и там символьный.

Что может быть?

Заранее спасибо.
...
Рейтинг: 0 / 0
Проблема спараметром хранимой процедуры.
    #33369652
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто вас учил так параметры задавать?

Код: plaintext
1.
2.
3.
4.
    
    Dim p1           As New ADODB.Parameter
    Set p1 = cmd.CreateParameter("@num_cont, adVarChar, adParamInput,  255 )
    cmd.Parameters.Append p1
...
Рейтинг: 0 / 0
Проблема спараметром хранимой процедуры.
    #33370262
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim str As String : вообще-то Str - это стандартная функция перевода числового значения в текстовое, поэтому как переменная может не рассматриваться.

Вместо Str используй, например, St .
...
Рейтинг: 0 / 0
Проблема спараметром хранимой процедуры.
    #33370563
strizzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades

Set p1 = cmd.CreateParameter("@num_cont", adVarChar, adParamInput, 255)
cmd.Parameters.Append p1
cmd.Parameters.Refresh
'str = List1.List(i)
cmd("num_cont") = List1.List(i)
rs.Open cmd, , adOpenDynamic, adLockOptimistic

а при присвоение параметра все равно таже ошибка. :( вроде по книге так нада присваивать...
...
Рейтинг: 0 / 0
Проблема спараметром хранимой процедуры.
    #33370680
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
Set p1 = cmd.CreateParameter("@num_cont", adVarChar, adParamInput,  255 )
p1.value =  List1.List(i)
cmd.Parameters.Append p1
set rs = cmd.execute
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема спараметром хранимой процедуры.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]