| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Как добавить в таблицу БД массив COMSafeArray? |
| Автор: TongerenS 2.7.2009, 14:57 |
| Добрый день господа! Скажите пожалуйста, как добавить многомерный массив ComSafeArray в поле таблицы БД с типом значения BinaryData Есть примерно такой код, обычное подключение через АДО СоединениеАДОДБ= Новый COMObject("ADODB.Connection"); СоединениеАДОДБ.ConnectionString="Provider="+СКЛБДПровайдер+ ";server="+ СКЛБДСервер+ ";Database="+СКЛБДИмяБД+ ";uid="+СКЛБДЛогин + ";pwd="+ СКЛБДПароль; попытка НовоеСоединение.Open(); исключение СоединениеВключено=ложь; КонецПопытки; ////Добавление параметров Param1 = СоединениеАДОДБ.CreateParameter("@TT",200,1,50,Формат(ТекущаяДата(),"ДФ=ггггММдд")); СоединениеАДОДБ.Parameters.Append(Param1); ////+ STR="INSERT INTO Matters (FileName, DataSize, BinaryData) VALUES ('"+ИмяТ+".pfl',"+ДатаСайз+", @TT)"; СоединениеАДОДБ.Execute(STR,128); СоединениеАДОДБ.Close(); Здесь параметр @TT имеет значение Дата, а вопрос: Как можно вместо него указать тот самый многомерный массив ComSafeArray? Извиняюсь за возможно глупые вопросы, но очень необходимо это. Если можно пожалуйста напишите пример, как правильно было бы указать параметр. |
| Автор: TongerenS 3.7.2009, 08:58 |
| Разобрался как добавлять BinaryData. Используется "ADODB.Recordset" через Update СоединениеАДОДБ= Новый COMObject("ADODB.Connection"); СоединениеАДОДБ.ConnectionString="Provider="+СКЛБДПровайдер+ ";server="+ СКЛБДСервер+ ";Database="+СКЛБДИмяБД+ ";uid="+СКЛБДЛогин + ";pwd="+ СКЛБДПароль; попытка НовоеСоединение.Open(); исключение Сообщить(ОписаниеОшибки()); КонецПопытки; СоединениеАДОДБ=Crystal_Admin_SEC.СоединениеADODB_Connection(База); RecSet=Новый COMОбъект("ADODB.Recordset"); RecSet.Open("Select DataSize,Modified,BinaryData From Matters WHERE FileName='"+ИмяТ+".pfl'",СоединениеАДОДБ,1,3); //3 Разрешаем Update обычно 3,1 RecSet.Fields("Modified").Value=ТекущаяДата(); RecSet.Fields("DataSize").Value=ДатаСайз; RecSet.Fields("BinaryData").Value=пData; RecSet.Update(); RecSet.Close(); СоединениеАДОДБ.Close(); |