Имя: Пароль:
1C
1С v8
помогите с INSERT INTO
0 Rokstedi
 
24.08.13
16:15
Здравствуйте. Подскажите как вставить несколько строк в таблицу SQL одним запросом. Сейчас добавляю каждую строку в цикле, это наверное неправильно, хочу сформировать текст запроса и выполнить его после цикла. Использую такую конструкцию  

Connection  = Новый COMОбъект("ADODB.Connection");
Command  = Новый COMОбъект("ADODB.Command");
RecordSet  = Новый COMОбъект("ADODB.RecordSet");

Попытка
    Connection.Open(СтрокаСоединения);
    Command.ActiveConnection  = Connection;
    Command.CommandText = ЗапросSQL;
    RecordSet = Command.Execute();
Исключение
    Сообщить(ОписаниеОшибки());
КонецПопытки;
1 Rie
 
24.08.13
16:20
(0) Сформируй (конкатенацией INSERTов - только чтобы не слишком длинная была) и выполни.
2 Jaap Vduul
 
24.08.13
16:24
(0)Какой сервер?
Какая версия?
Откуда данные для вставки берутся?
Как много строк планируется добавлять за раз?
3 Rokstedi
 
24.08.13
16:45
(1) добавляется только одна строка
4 Rokstedi
 
24.08.13
16:53
(2) MS SQL 2008? данные вручную заполняю, строк добавляю около 20
5 nicxxx
 
24.08.13
16:54
все правильно. у тебя в любом случае 2 пути - вставка по одной строке и конструкция select into.
и неважно сколько будет строк. если у тебя в 1С нет источника для select into выход только один - делать инсерт в цикле по одной строке
6 Jaap Vduul
 
24.08.13
20:47
Начиная с 2k8 sql server поддерживает такую инструкцию:
INSERT INTO Table
   ( Column1, Column2 )
VALUES
   ( Value1, Value2 ),
   ...
   ( Value1, Value2 )
7 МихаилМ
 
24.08.13
20:59
коли используйте ado, то его методы вставки и используйте.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.