|
Ошибка при подключении к базе через ADO | ☑ | ||
---|---|---|---|---|
0
gash85
20.12.12
✎
16:03
|
Св = Новый COMОбъект("ADODB.Connection");
Св.CursorLocation = 3; Св.ConnectionTimeout=15; СтрокаСвязи = "Provider=SQLOLEDB.1;Password=pas;Persist Security Info=True;User ID=user1c;Initial Catalog=base1;Data Source=serv1;Connect timeout=10"; Св.Open(СтрокаСвязи); CommEdit = Новый COMОбъект("ADODB.Command"); CommEdit.ActiveConnection = Св; CommEdit.CommandText = "Clients"; CommEdit.CommandType = 8; prm2 = CommEdit.CreateParameter("@KodClient", КонстантаАДО("AdWChar"),ТипПараметраАДО("adParamInput"), 10, СокрЛП(Код)); CommEdit.Parameters.Append( prm2 ); prm3 = CommEdit.CreateParameter("@NameClient", КонстантаАДО("AdWChar"),ТипПараметраАДО("adParamInput"), 100, СокрЛП(Наименование)); CommEdit.Parameters.Append( prm3 ); prm4 = CommEdit.CreateParameter("@FullNaim", КонстантаАДО("AdWChar"),ТипПараметраАДО("adParamInput"), 100, СокрЛП(ПолноеНаименование)); CommEdit.Parameters.Append( prm4 ); prm5 = CommEdit.CreateParameter("@AddrReg", КонстантаАДО("AdWChar"),ТипПараметраАДО("adParamInput"), 500, СокрЛП(АдресЮр)); CommEdit.Parameters.Append( prm5 ); prm6 = CommEdit.CreateParameter("@DateMail", КонстантаАДО("addate"),ТипПараметраАДО("adParamInput"), 4, ДатаМейла); CommEdit.Parameters.Append( prm6 ); prm7 = CommEdit.CreateParameter("@Mail", КонстантаАДО("AdWChar"),ТипПараметраАДО("adParamInput"), 100, СокрЛП(Мейл)); CommEdit.Parameters.Append( prm7 ); Попытка RsEdit = CommEdit.Execute(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Текст ошибки Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Procedure or Function 'Clients' expects parameter '@KodClient', which was not supplied. |
|||
1
shuhard
20.12.12
✎
16:07
|
(0)[Procedure or Function 'Clients' expects parameter '@KodClient', which was not supplied.]
что то перевести ? |
|||
2
gash85
20.12.12
✎
16:08
|
prm2 = CommEdit.CreateParameter("@KodClient", КонстантаАДО("AdWChar"),ТипПараметраАДО("adParamInput"), 10, СокрЛП(Код));
CommEdit.Parameters.Append( prm2 ); |
|||
3
sapphire
20.12.12
✎
16:08
|
CommEdit.Prepared=True;
IndexOfParameter=0; For Each Parameter In CommEdit.Parameters Do Message("Parameters("+IndexOfParameter+").Name="+Parameter.Name+"); IndexOfParameter=1+IndexOfParameter; EndDo; |
|||
4
sapphire
20.12.12
✎
16:16
|
(0) Параметры называются не так как ты их передаешь :)
|
|||
5
gash85
20.12.12
✎
16:55
|
имя параметра правильно: @KodClient varchar(10). В чем косяк не пойму
|
|||
6
sapphire
20.12.12
✎
17:10
|
(5) Ты ADO используешь?
|
|||
7
sapphire
20.12.12
✎
17:10
|
Вот и проверь (3)
|
|||
8
Йохохо
20.12.12
✎
17:22
|
AdWChar != AdVarChar // не тут?
|
|||
9
sapphire
20.12.12
✎
17:26
|
(8) Не, там дурь в другом.
Там имя параметра другое. Без сцобаки |
|||
10
gash85
20.12.12
✎
17:27
|
(8)заменил, аналогичная ошибка
(7)проверил |
|||
11
sapphire
20.12.12
✎
17:27
|
// Проверка имен параметров
CommEdit.Prepared=True; CommEdit.Parameters.Refresh();// .. в (3) Забыл вставить IndexOfParameter=0; For Each Parameter In CommEdit.Parameters Do Message("Parameters("+IndexOfParameter+").Name="+Parameter.Name+"); IndexOfParameter=1+IndexOfParameter; EndDo; |
|||
12
gash85
20.12.12
✎
17:27
|
(9)и без собаки проверял. первоначально без нее было
|
|||
13
sapphire
20.12.12
✎
17:28
|
(10) Покажи, что выдало
|
|||
14
gash85
20.12.12
✎
17:30
|
(13) после добавления строки CommEdit.Parameters.Refresh(); в (3) в цикл не заходит
CommEdit.Parameters.Refresh() = Неопределено |
|||
15
gash85
21.12.12
✎
10:48
|
все еще актуально..
|
|||
16
НЕА123
21.12.12
✎
11:07
|
КонстантаАДО()
ТипПараметраАДО() что возвращают? да и 10 - это правильно? |
|||
17
НЕА123
21.12.12
✎
11:19
|
(16)+
насчет 10 неправ. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |