Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка при вызове ХП через ADODB.Command / 13 сообщений из 13, страница 1 из 1
12.09.2002, 16:26:09
    #32050169
Ден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
Я раньше не пользовался для запуска ХП из ADODB.Command (лень было слишком длинный код писать), вызывал через adodb.connection, но жизнь заставила... надо написать приложение, которое абсолютно корректно будет передовать параметры на сервер, не зависимо от локальных настроек. Написал, все работает (с российскими настройками), а с американскими не хочет..
Говорит-Type name is invalid (в строке cm.execute). Почему так происходит, не пойму..Может кто-нибудь сталкивался?
Вот такой код:

Dim CM As ADODB.Command
Dim pr1 As ADODB.Parameter
Dim pr2 As ADODB.Parameter
Set CM = New ADODB.Command
Set CM.ActiveConnection = dbs
CM.CommandType = adCmdStoredProc
CM.CommandText = "p_set_sales_price"
Set pr1 = CM.CreateParameter("@id", adBigInt, adParamInput)
Set pr2 = CM.CreateParameter("@price", adDouble, adParamInput)
pr1.value = REST_ID
pr2.value = CDbl(tPrice.Text)
CM.Parameters.Append pr1
CM.Parameters.Append pr2
CM.Execute
...
Рейтинг: 0 / 0
12.09.2002, 16:49:01
    #32050195
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
Dim CM As ADODB.Command
Dim pr1 As ADODB.Parameter

Dim i as iNteger
Dim s as Double
1=REST_ID
s = val(tPrice.Text)
Set CM = New ADODB.Command
Set CM.ActiveConnection = dbs
CM.CommandType = adCmdStoredProc
CM.CommandText = "p_set_sales_price"
Set pr1 = CM.CreateParameter("id", adBigInt, adParamInput,,i)
CM.Parameters.Append pr1
Set pr1= CM.CreateParameter("price", adDouble, adParamInput,,s)
CM.Parameters.Append pr1

CM.Execute
А втаком варианте попробуй
...
Рейтинг: 0 / 0
12.09.2002, 16:55:58
    #32050202
Ден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
Аналогичная фигня.. Мда, как говорится, лучшее - враг хорошего, всегда работал через connection.execute и бед не знал..
...
Рейтинг: 0 / 0
12.09.2002, 17:24:16
    #32050217
av_ev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
Не усложняйте себе жизнь

Dim CM As ADODB.Command

Set CM = New ADODB.Command
Set CM.ActiveConnection = dbs

CM.CommandType = adCmdStoredProc
CM.CommandText = "p_set_sales_price"
CM(1) = REST_ID
CM(2) = CDbl(tPrice.Text)
CM.Execute
...
Рейтинг: 0 / 0
12.09.2002, 17:50:11
    #32050233
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
А сама ХП работает,
REST_ID точно INteger
CDbl(tPrice.Text) точно вернет DOuble
О сорри понял - разделитель между дробной и челой частью разный,попробуй пропарсить значения tPrice.Text как строку,поменяй значение разделителя и попробуй впихнуть ето значение в процедуру как число,или передавай как строку и в самой ХП поменять уже на нужное
...
Рейтинг: 0 / 0
12.09.2002, 18:15:57
    #32050241
Ден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
Дело в том, что я дробные части и не вводил... До запуска ХП дело не доходит - трэйсером смотрел... Проблема где-то на уровне ADODB...
...
Рейтинг: 0 / 0
12.09.2002, 18:26:35
    #32050245
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
а если попробовать dbo.p_set_sales_price ...
...
Рейтинг: 0 / 0
12.09.2002, 18:38:56
    #32050250
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
Блин нет барахлит:((
Я вот думаю может у тебя гдето в ХП параметры имеют тип совсем не флоат,а каккой нибудь нумерик ?
Ну уж очень похожее сообщение на то когда пытаешся не тот тип передать,или не тот порядок следования аргументов при вызове ХП,у тебя какой MDAC стоит?
...
Рейтинг: 0 / 0
12.09.2002, 18:43:44
    #32050253
Ден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
Не помогает...
...
Рейтинг: 0 / 0
12.09.2002, 19:14:09
    #32050258
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
да и @ убери....
Dim CM As ADODB.Command
Set CM = New ADODB.Command
Set CM.ActiveConnection = dbs
CM.CommandType = adCmdStoredProc
CM.CommandText = "dbo.p_set_sales_price"
CM.Parameters.Append CM.CreateParameter("id", adBigInt, adParamInput,,REST_ID )
CM.Parameters.Append CM.CreateParameter("price", adDouble, adParamInput,,CDbl(tPrice.Text))
CM.Execute
...
Рейтинг: 0 / 0
12.09.2002, 19:32:24
    #32050262
Ден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
Попробую, но сам факт, что на одном компе моя конструкция отлично работает, а на другом какой то бред..
...
Рейтинг: 0 / 0
13.09.2002, 13:19:36
    #32050413
Ден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
Если кому интересно, то эта фигня вылечилась установкой mdac 2.7...
...
Рейтинг: 0 / 0
13.09.2002, 13:24:16
    #32050418
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при вызове ХП через ADODB.Command
Глюки,глюки.........
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка при вызове ХП через ADODB.Command / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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