|
Запрос к базе MSSQL |
☑ |
0
uvl
10.10.12
✎
16:45
|
Добрый день.
Имею такой код:
....
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Connection;
ParamArt = Command.CreateParameter("ParamArt",2,1,1,МаксАртикул);
Command.Parameters.Append(ParamArt);
Command.CommandText = "SELECT * FROM CoverProducts WHERE CoverProducts.idCoverProduct=:ParamArt";
RecordSet = Новый COMОбъект("ADODB.RecordSet");
RecordSet = Command.Execute();
Вопрос 1: Без WHERE все замечательно работает. С применением же параметра возникает ошибка:
Ошибка при вызове метода контекста (Execute)
RecordSet = Command.Execute();
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Incorrect syntax near ':'.
Вопрос 2: Как указать условие "больше" значения параметра ParamArt. Параметр Integer. Нужно выбрать значения которые больше него.
Спасибо
|
|
1
shuhard
10.10.12
✎
16:46
|
(0) а зачем нужен параметр, пиши в лоб:
"SELECT * FROM CoverProducts WHERE CoverProducts.idCoverProduct="+МаксАртикул;
|
|
2
GANR
10.10.12
✎
16:47
|
(0) см.(1)
|
|
3
shuhard
10.10.12
✎
16:51
|
(0) ну и конечно команда в коде лишняя
достаточно рекордсета
|
|
4
Живой Ископаемый
10.10.12
✎
16:53
|
2(1) Может он экспериментирует, ведь известно почему парметризованный запрос лучше.
|
|
5
uvl
10.10.12
✎
16:53
|
(1) да я так первым делом и проверил. Не прошло. Щас еще раз проверю, может что то упустил
|
|
6
Лефмихалыч
10.10.12
✎
16:57
|
(5) потому, что надо так:
"SELECT * FROM CoverProducts WHERE CoverProducts.idCoverProduct="+Формат(МаксАртикул,"ЧГ=0");
|
|
7
uvl
10.10.12
✎
17:00
|
(6) блин, не подумал, да там пятизначный артикул. Спасибо
|
|
8
sapphire
10.10.12
✎
17:01
|
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Connection;
ParamArt = Command.CreateParameter("ParamArt",2,1,1,МаксАртикул);
Command.Parameters.Append(ParamArt);
Command.CommandText = "SELECT * FROM CoverProducts WHERE CoverProducts.idCoverProduct=?";
RecordSet = Новый COMОбъект("ADODB.RecordSet");
RecordSet = Command.Execute();
|
|
9
uvl
10.10.12
✎
17:05
|
Спасибо всем. Все заработало.
Проблема была в отсутствии Формата как подсказал Лефмихалыч
|
|