Имя: Пароль:
1C
1С v8
ADO присваивание значения переменной
,
0 o KIA
 
17.07.14
15:12
Через ADO подключаюсь к SQL серверу и передаю запрос:
"declare @value_test varchar(10) = ''

select @values_test"

Запрос не возвращает ничего, выяснилось, что виновато присваивание @value_test значения. Если его убрать, а оставить только declare - всё работает. Елси присваивать (любым способом: set @value_test = '' или select @value_test = ''), то всё перестаёт работать..

Не пойму в чём дело
1 ДенисЧ
 
17.07.14
15:16
"
set nocount on
declare @value_test varchar(10) = ''
select @values_test"

а так?
2 o KIA
 
17.07.14
15:19
:-)
А так работает, ШАЙТАН!
3 ДенисЧ
 
17.07.14
15:26
:-))
4 Fragster
 
гуру
17.07.14
15:32
а зачем? хранимки можно и без этого вызывать...
5 o KIA
 
17.07.14
15:38
Что бы не размазывать по коду '" + Значение + "'
6 МихаилМ
 
17.07.14
15:44
(0)
значит Вы подключаетесь не по oledb, а по odbc.

для oledb "set nocount on " не нужен.
7 Fragster
 
гуру
17.07.14
15:48
(5) а не надо его размазывать. хотя если несколько раз одно и то же используется, тогда может быть и есть смысл. но я дошел до передачи массива в подготовленное выражение v8: Параметризованные запросы ADODB и опции Execute
8 Serginio1
 
17.07.14
15:58
А так

РекордСет=Command.Execute();

Резулт="";
Пока РекордСет<>неопределено Цикл
    Если РекордСет.Fields.Count>0 Тогда
        Поле=РекордСет.Fields(0);
        Стр=Поле.Name+" "+Поле.Value;
        Если ЗначениеЗаполнено(Резулт) тогда
            Резулт=Резулт+"
            |"+Стр
        иначе
            Резулт=Стр;
        КонецЕсли;
    КонецЕсли;
    РекордСет=РекордСет.NextRecordSet();
КонецЦикла;
Сообщить(Резулт);