8.х Добавление строк в таблицу SQL из 1С

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Hamster, 5 сен 2008.

  1. TopicStarter Overlay
    Hamster
    Offline

    Hamster Опытный в 1С

    Регистрация:
    26 янв 2007
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    Стоит задача необходимо загруить справочник банков в таблицу SQL. Дошел до момента добавления и встал никак не могу понять где ошибка

    Код:
    Попытка
    Соединение.Open();
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
    
    RS = Новый COMОбъект("ADODB.RecordSet");
    Command = Новый COMОбъект("ADODB.Command");
    
    ТекстЗапроса = "SELECT * FROM " + СокрЛП(ИмяТаблицыБанков);
    
    Попытка
    //Запрос.Open(ТекстЗапроса,Соединение);
    RS.Open(СокрЛП(ИмяТаблицыБанков),Соединение);
    Command.ActiveConnection = Соединение;
    Исключение
    Сообщить(ОписаниеОшибки());
    Возврат;
    КонецПопытки;
    
    //Пока Не Запрос.EOF() Цикл
    //	Сообщить(Запрос.Fields("IDENT").Value);
    //	Запрос.MoveNext();
    //КонецЦикла;
    
    Для Каждого Стр Из ТаблицаБанковНаЗагрузку Цикл
    //Попытка
    //	RS.AddNew();
    //Исключение
    //	Сообщить(ОписаниеОшибки());
    //КонецПопытки;
    RS.ActiveCommand.CommandText = "Insert into " + ИмяТаблицыБанков + " (Naimen,IDENT,BIC,Adress,City_B,Cor_Sch) Values(" + " " + СокрЛП(Стр.ИмяБанка)
    + ", " + СокрЛП(Стр.ИмяБанка) + ", " + СокрЛП(Стр.БИК) + ", " + СокрЛП(Стр.Адрес) + ", " + СокрЛП(Стр.Город) + ", " + СокрЛП(Стр.КоррСчет) + ")";
    
    //RS.Fields("Naimen").Value = СокрЛП(Стр.ИмяБанка);
    //RS.Fields("IDENT").Value = СокрЛП(Стр.ИмяБанка);
    //RS.Fields("BIC").Value = СокрЛП(Стр.БИК);
    //RS.Fields("Adress").Value = СокрЛП(Стр.Адрес);
    //RS.Fields("City_B").Value = СокрЛП(Стр.Город);
    //RS.Fields("Cor_Sch").Value = СокрЛП(Стр.КоррСчет);
    //RS.Update();
    
    
    //RS.CommandText = "Insert into " + ИмяТаблицыБанков + " (Naimen,IDENT,BIC,Adress,City_B,Cor_Sch) Values(" + " :BankN, :BankId, :BankBIC, :BankAdr, :BankG, :BankKs)";
    //RS("BankN").Value   = СокрЛП(Стр.ИмяБанка);
    //RS("BankId")  = СокрЛП(Стр.ИмяБанка);
    //RS("BankBIC") = СокрЛП(Стр.БИК);
    //RS("BankAdr") = СокрЛП(Стр.Адрес);
    //RS("BankG")   = СокрЛП(Стр.Город);
    //RS("BankKs")  = СокрЛП(Стр.КоррСчет);
    
    Попытка
    RS.Execute();
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
    КонецЦикла;
    
    RS.Close();
    Соединение.Close();
    
    
    Кто чем может помогите
  2. PicaSSo
    Offline

    PicaSSo

    Регистрация:
    23 июл 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    щас нету книги по SQL псмотри сам, каждое значение нужно заключить толи в слеши (/), толи в одиночные кавычки('), что бы исключить возможность пробелов в значениях.....
  3. dend
    Offline

    dend Опытный в 1С

    Регистрация:
    9 апр 2007
    Сообщения:
    175
    Симпатии:
    0
    Баллы:
    26
    А что выдает?
    Какая ошибка?

    Запрос отдельно работает? (если текст отладчиком выдернуть?)
  4. TopicStarter Overlay
    Hamster
    Offline

    Hamster Опытный в 1С

    Регистрация:
    26 янв 2007
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    Так ребят на будущее, просьба давать конкретные ответы, а не кажется, по-моему. В проблеме я розабрался, просто не установил параметр обхода таблицы и параметр доступа.
  5. Kaboom
    Offline

    Kaboom Опытный в 1С

    Регистрация:
    2 июл 2007
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    На общие вопросы будут общие ответы. Или Вы думали, что все начнут создавать обработки, кидать Ваш код и разбираться где ошибка?

Поделиться этой страницей