Имя: Пароль:
1C
1С v8
Работа с скл из 1с
,
0 Мисти
 
22.07.14
18:11
Уже вижу саму базу - таблицы,представления,синонимы и т.д.
Пока непонятно, где я увижу данные, пока их там, наверное, еще нет.
Подключение срабатывает!
    Соединение003 = Новый COMОбъект("ADODB.Connection");
    строкаПодключения = "....";
    Попытка
        Соединение003.Open(строкаПодключения);
    Исключение
        Сообщить( "Не смогли подключиться к sql-базе: " + ОписаниеОшибки());
        Возврат Неопределено;
    КонецПопытки;
    Cmd = Новый COMОбъект("ADODB.Command");
    Cmd.ActiveConnection = Соединение003;
    //Cmd.CommandType = ТипКомандыАДО("adcmdtext"); // это она не понимает    
    Cmd.CommandTimeout = 600;
    Возврат Cmd;

Дальше не работает:
    Соединение = СоединитьсяСSQL();
    
    Контрагенты            = Новый COMОбъект("ADODB.Recordset");
    Контрагенты.CursorType = 1;
    Контрагенты.LockType   = 3;
    ТекстЗапросаAccount = "select * from Account";
    Контрагенты.Open(ТекстЗапросаAccount, Соединение);

Ругается:
Ошибка при вызове метода контекста (Open)
    Контрагенты.Open(ТекстЗапросаAccount, Соединение);
по причине:
Произошла исключительная ситуация (ADODB.Recordset): Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с др
74 Мисти
 
23.07.14
12:33
(72) Я не вижу там похожего примера
(73) Ну и будет список из 20 плей, а потом список из 20 значений - они даже на один экран не влезут, это неудобно.
Как-то так нельзя?
    Контрагенты.Fields("ID").Value         = Контрагенты1С.ИдентификаторBPM; //Идентификатор BPM
75 ДенисЧ
 
23.07.14
12:35
(74)
    Команда.CommandText =
    "UPDATE
    |    [Session]
    |SET
    |    [STATUS] = ?
    |WHERE
    |    [SessionId] = ?";
    Параметры = Новый COMSafeArray("VT_VARIANT", 2);
    Параметры.SetValue(0, Статус);
    Параметры.SetValue(1, ИД);
    Команда.Execute(, Параметры, мМагияСКЛ.adExecuteNoRecords + мМагияСКЛ.adAsyncExecute);


А это что, извините за выражение? За**па конская???
76 SSSSS_AAAAA
 
23.07.14
12:37
(74) Серверу нужна строка команды и ваши предпочтения по рисованию текста его совершенно не интересуют. Это запрос. Вы же 1с-освские запросы рисуете на несколько экранов и не переламываетесь? Вот и тут точно так же нарисуйте.
77 Мисти
 
23.07.14
13:02
(75) Из этого примера!
Set rs = CreateObject("ADODB.Recordset")

rs.CursorType = 1

rs.LockType = 3

rs.Open "select * from dbo.customers", cn

rs.AddNew

rs.Fields("CompanyName") = "Test rs company"

rs.Fields("Country") = "Germany"

rs.Fields("CustomerId") = "TESTR"

rs.Update
78 SSSSS_AAAAA
 
23.07.14
13:09
(77) Если Вам нужны тормоза работы только через АДО, то читайте доку по этому самому АДО и не морочьте людям голову.
Нравится вам этот пример? Это пример использования нотации АДО вместо нативного Update. Что в нем непонятно?
79 Мисти
 
23.07.14
13:17
Сыр-бор начался с того, что AddNew не сработало.
Так что мне вся эта методика наверное, не подходит.
80 Мисти
 
23.07.14
14:12
if exist(select из Account) - прямо так можно в 1С писать?
Или
Для Каждого СтрКонтр из ТабКонтр Цикл
  ОбработкаПрерыванияПользователя();
ТекстЗапроса = "SELECT * FROM account WHERE [UI1C] = ?";
Соединение.Parameters(0).Value = СтрКонтр.UI1C;

Выборка = Соединение.Execute(ТексЗапроса);
Если Выборка.EOF()=0 //- нет такой строки, надо добавить
ТекстЗапроса = "INSERT INTO account SET UI1C= ?, Name=?,AccountOwnerShipId= ?;"
Соединение.Parameters(0).Value = СтрКонтр.UI1C;
Соединение.Parameters(1).Value = СтрКонтр.Name;
Соединение.Parameters(2).Value = СтрКонтр.AccountOwnerShipId;
Соединение.Execute(ТексЗапроса);
Соединение.Close();
...
Иначе // есть строка, надо обновить

ТекстЗапроса = "UPDATE INTO account SET  Name=?,AccountOwnerShipId= ?
WHERE [UI1C] = ?";
Соединение.Parameters(2).Value = СтрКонтр.UI1C;

Соединение.Parameters(0).Value = СтрКонтр.Name;
Соединение.Parameters(1).Value = СтрКонтр.AccountOwnerShipId;
Соединение.Execute(ТексЗапроса);
Соединение.Close();
КонецЕсли;
КонецЦикла
81 Мисти
 
23.07.14
14:17
Выловила синтаксические ошибки.
Похоже?

    Для Каждого СтрКонтр из ТабКонтр Цикл
        ОбработкаПрерыванияПользователя();
        ТекстЗапроса = "SELECT * FROM account WHERE [UI1C] = ?";
        Соединение.Parameters(0).Value = СтрКонтр.UI1C;         
        Выборка = Соединение.Execute(ТекстЗапроса);
        Если Выборка.EOF()=0 Тогда //- нет такой строки, надо добавить
            
            ТекстЗапроса = "INSERT INTO account SET UI1C= ?, Name=?,AccountOwnerShipId= ?;";
            Соединение.Parameters(0).Value = СтрКонтр.UI1C;
            Соединение.Parameters(1).Value = СтрКонтр.Name;
            Соединение.Parameters(2).Value = СтрКонтр.AccountOwnerShipId;
            Соединение.Execute(ТекстЗапроса);
            Соединение.Close();
        Иначе // есть строка, надо обновить
            ТекстЗапроса = "UPDATE INTO account SET  Name=?,AccountOwnerShipId= ?    WHERE [UI1C] = ?";
            Соединение.Parameters(2).Value = СтрКонтр.UI1C;             
            Соединение.Parameters(0).Value = СтрКонтр.Name;
            Соединение.Parameters(1).Value = СтрКонтр.AccountOwnerShipId;
            Соединение.Execute(ТекстЗапроса);
            Соединение.Close();
        КонецЕсли;
    КонецЦикла;
82 SSSSS_AAAAA
 
23.07.14
14:38
(81)
1. Вместо SELECT * напишите SELECT 1, ибо весь набор полей совершенно тут не нужен.
2. Откуда взялось UPDATE INTO ? Точнее INTO после UPDATE?
83 Мисти
 
23.07.14
14:50
INTO - выкинуть!
SELECT 1 - логично, поправлю.
84 Мисти
 
23.07.14
14:55
{Форма.Форма1.Форма(74)}: Ошибка при вызове метода контекста (Parameters)
        Соединение.Parameters(0).Value = СтрКонтрСКЛ.UI1C;         
по причине:
Произошла исключительная ситуация (ADODB.Command): В коллекции не удается найти элемент, соответствующий требуемому имени или порядковому номеру.
Есть такая таблица, есть такое поле, правда записи нет ни одной пока и перед названием таблицы dbo.
Куды бечь?
85 SSSSS_AAAAA
 
23.07.14
15:05
(84) Проверять коллекцию параметров. Ибо речь ведь про неё, не так ли? Искать, куда делся Соединение.Parameters(0)
86 Мисти
 
23.07.14
15:08
В базе я его вижу, имя совпадает. Как еще искать?
87 Jaap Vduul
 
23.07.14
15:09
(84)
Каша какая-то.

>> Выборка = Соединение.Execute(ТекстЗапроса);
Так можно в случае, когда в переменной Соединение находится объект типа ADODB.Connection
А судя по ошибке у тебя там ADODB.Command, поэтому надо так:
Соединение.Commandtext = ТекстЗапроса; // только из цикла надо это вынести
Выборка = Соединение.Execute();
88 SSSSS_AAAAA
 
23.07.14
15:15
(86) А при чем тут база? Речь о самой коллекции параметров, а не о их значениях.
89 Мисти
 
23.07.14
15:16
Почему из цикла вынести, если мне нужно найти все строчки в цикле?
90 Мисти
 
23.07.14
15:17
Конечно, каша! Я ж куски тащу из разных примеров, мне ж никто не может стройно 4 строчки написать!"!!
91 SSSSS_AAAAA
 
23.07.14
15:18
(90) Их никто и не напишет.
92 Jaap Vduul
 
23.07.14
15:19
(89)
Присвоение текста запроса вынести, он ведь не меняется в цикле, только значения параметров.
93 Мисти
 
23.07.14
15:19
Cmd = Новый COMОбъект("ADODB.Command");
    Cmd.ActiveConnection = Соединение003;

Так как переписать этот кусок?
Для Каждого СтрКонтр из ТабКонтр Цикл
        ОбработкаПрерыванияПользователя();
        СтрКонтрСКЛ =  Контрагенты1С.Добавить();
        ЗаписатьКонтр(СтрКонтрСКЛ,СтрКонтр);

        ТекстЗапроса = "SELECT 1 FROM account WHERE [UI1C] = ?";
        Соединение.Parameters(0).Value = СтрКонтрСКЛ.UI1C;         
        Выборка = Соединение.Execute(ТекстЗапроса);
        Если Выборка.EOF()=0 Тогда //- нет такой строки, надо добавить
            
            ТекстЗапроса = "INSERT INTO account SET UI1C= ?, Name=?,AccountOwnerShipId= ?;";
            Соединение.Parameters(0).Value = СтрКонтрСКЛ.UI1C;
            Соединение.Parameters(1).Value = СтрКонтрСКЛ.Name;
            Соединение.Parameters(2).Value = СтрКонтрСКЛ.AccountOwnerShipId;
            Соединение.Execute(ТекстЗапроса);
            Соединение.Close();
        Иначе // есть строка, надо обновить
            ТекстЗапроса = "UPDATE  account SET  Name=?,AccountOwnerShipId= ?    WHERE [UI1C] = ?";
            Соединение.Parameters(2).Value = СтрКонтрСКЛ.UI1C;             
            Соединение.Parameters(0).Value = СтрКонтрСКЛ.Name;
            Соединение.Parameters(1).Value = СтрКонтрСКЛ.AccountOwnerShipId;
            Соединение.Execute(ТекстЗапроса);
            Соединение.Close();
        КонецЕсли;
    КонецЦикла;
94 Wobland
 
23.07.14
15:21
>Соединение.Parameters(0).Value
вот откуда в этом месте нулевой параметр? может (страшно говорить) MSDN?
95 Мисти
 
23.07.14
15:24
(94) Вот отсюда украла.
Команда.CommandText =
    "SELECT TOP 1
    |    [SessionId]
    |FROM [Session]
    |WHERE
    |    [STATUS] = ?";
    Команда.Parameters(0).Value = Статус;

Что не так?
96 SSSSS_AAAAA
 
23.07.14
15:26
(95) Полное отсутствие понимания что и как в этом куске работает.
97 Мисти
 
23.07.14
15:27
Ну так объясните!
98 Wobland
 
23.07.14
15:28
99 SSSSS_AAAAA
 
23.07.14
15:28
(95) Сравните с этим:
        ТекстЗапроса = "SELECT * FROM account WHERE [UI1C] = ?";
        Соединение.Parameters(0).Value = СтрКонтр.UI1C;        

Даю наводку: Чем отличаются ТекстЗапроса и Команда.CommandText?
100 Wobland
 
23.07.14
15:28
100
101 Jaap Vduul
 
23.07.14
15:33
(93)
Как-то так:
Cmd = Новый COMОбъект("ADODB.Command");
Cmd.ActiveConnection = Соединение003;
Cmd.CommandText = "if exists(select * from account where UI1C = ?) update account set Name = ?, AccountOwnerShipId = ? where UI1C = ?
|else insert into account (UI1C, Name, AccountOwnerShipId) values (?, ?, ?)";
Cmd.Refresh();

Для Каждого СтрКонтр из ТабКонтр Цикл
        
        ОбработкаПрерыванияПользователя();
        СтрКонтрСКЛ =  Контрагенты1С.Добавить();
        ЗаписатьКонтр(СтрКонтрСКЛ,СтрКонтр);

        Cmd.Parameters(0).Value = СтрКонтрСКЛ.UI1C;
        Cmd.Parameters(1).Value = СтрКонтрСКЛ.Name;
        Cmd.Parameters(2).Value = СтрКонтрСКЛ.AccountOwnerShipId;
        Cmd.Parameters(3).Value = СтрКонтрСКЛ.UI1C;
        Cmd.Parameters(4).Value = СтрКонтрСКЛ.UI1C;
        Cmd.Parameters(5).Value = СтрКонтрСКЛ.Name;
        Cmd.Parameters(6).Value = СтрКонтрСКЛ.AccountOwnerShipId;
        
        Cmd.Execute();

КонецЦикла;
102 Мисти
 
23.07.14
15:33
(98) Я плохо на иностранном языке понимаю.
(99) Ну как чем? Скорее - вообще ничего общего!
Ну, т.е. Команда.CommandText = ТекстЗапроса
103 Wobland
 
23.07.14
15:35
а я так надеялся на (12)...
104 SSSSS_AAAAA
 
23.07.14
15:36
(102) Ну так и присваивайте текст запроса соответствующему свойству соединения, а не произвольной переменной. Именно поэтому и коллекция параметров пустая и потому в ней невозможно найти параметр с индексом 0.
105 Мисти
 
23.07.14
15:38
(101) Форма.Форма1.Форма(67)}: Метод объекта не обнаружен (Refresh)
    Cmd.Refresh();
106 Мисти
 
23.07.14
15:40
А! Так у меня там всё нормально.
У меня функция
Соединение = СоединитьсяСSQL(), а там внутри был этот Cmd, который возвращается.
Т.е. это одно и то же.
107 Jaap Vduul
 
23.07.14
15:41
(105)
Cmd.Parameters.Refresh();
108 Мисти
 
23.07.14
15:43
{Форма.Форма1.Форма(67)}: Ошибка при вызове метода контекста (Refresh)
    Cmd.Parameters.Refresh();    
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Ошибка синтаксиса или нарушение прав доступа
109 SSSSS_AAAAA
 
23.07.14
15:44
(106) Это кому и о чем?
110 Мисти
 
23.07.14
15:45
Cmd = СоединитьсяСSQL(); - теперь у меня так.
(109) - 106 - это к 104
111 SSSSS_AAAAA
 
23.07.14
15:46
(110) У вас ТекстЗапроса - переменная, никоим образом не связанная с Connttion. Так что совершенно не одно и то же.
112 Мисти
 
23.07.14
15:51
Так текст запроса - это строка, как она должна быть связана??
113 Wobland
 
23.07.14
15:53
(112) предполагается, что эта строка должна быть в соответствующем свойстве команды, а не в какой-то подозрительной переменной
114 Мисти
 
23.07.14
15:53
"Ну так и присваивайте текст запроса соответствующему свойству соединения, а не произвольной переменной. Именно поэтому и коллекция параметров пустая и потому в ней невозможно найти параметр с индексом"
Cmd.CommandText = ТекстЗапроса.
Что не так?
115 Wobland
 
23.07.14
15:53
(114) сойдёт. у тебя там код меняется ежеминутно, мы у себя не успеваем обновлять
116 Jaap Vduul
 
23.07.14
15:54
(108)Проверяй имена таблиц/полей и права доступа в БД
117 Мисти
 
23.07.14
15:56
(115) Соединение.CommandText = ТекстЗапроса.
Соединение.Parameters(0).Value = СтрКонтрСКЛ.UI1C;        
    Выборка = Соединение.Execute();
Так?
(116) Имя таблицы - там еще dbo. Может, добавить? Права не знаю, как проверить.
118 SSSSS_AAAAA
 
23.07.14
15:57
(114)
1. В обсуждаемом коде нет Cmd.CommandText = ТекстЗапроса.
2. В обсуждаемом коде есть
        ТекстЗапроса = "SELECT * FROM account WHERE [UI1C] = ?";
        Соединение.Parameters(0).Value = СтрКонтр.UI1C;        

и тут нет никакой привязки к объекту Соединение. И тут нет генерации коллекции параметров. И потому не находится
        Соединение.Parameters(0)
119 Мисти
 
23.07.14
16:00
Для Каждого СтрКонтр из ТабКонтр Цикл
    ОбработкаПрерыванияПользователя();
    СтрКонтрСКЛ =  Контрагенты1С.Добавить();
    ЗаписатьКонтр(СтрКонтрСКЛ,СтрКонтр);
    
    ТекстЗапроса = "SELECT 1 FROM account WHERE [UI1C] = ?";
    Соединение.CommandText = ТекстЗапроса;
    Соединение.Parameters(0).Value = СтрКонтрСКЛ.UI1C;        
    Выборка = Соединение.Execute();
    Если Выборка.EOF()=0 Тогда //- нет такой строки, надо добавить              
        ТекстЗапроса = "INSERT INTO account SET UI1C= ?, Name=?,AccountOwnerShipId= ?;";
        Соединение.CommandText = ТекстЗапроса;
        Соединение.Parameters(0).Value = СтрКонтрСКЛ.UI1C;
        Соединение.Parameters(1).Value = СтрКонтрСКЛ.Name;
        Соединение.Parameters(2).Value = СтрКонтрСКЛ.AccountOwnerShipId;
        Соединение.Execute();
        Соединение.Close();
    Иначе // есть строка, надо обновить  
        ТекстЗапроса = "UPDATE  account SET  Name=?,AccountOwnerShipId= ?    WHERE [UI1C] = ?";
        Соединение.CommandText = ТекстЗапроса;
        Соединение.Parameters(2).Value = СтрКонтрСКЛ.UI1C;            
        Соединение.Parameters(0).Value = СтрКонтрСКЛ.Name;
        Соединение.Parameters(1).Value = СтрКонтрСКЛ.AccountOwnerShipId;
        Соединение.Execute();
        Соединение.Close();
    КонецЕсли;
КонецЦикла;
120 SSSSS_AAAAA
 
23.07.14
16:01
(119) ВЫ издеваетесь?
121 Wobland
 
23.07.14
16:01
про ЕОФ ещё не сказали, что это енд оф файл
122 Мисти
 
23.07.14
16:01
{Форма.Форма1.Форма(87)}: Ошибка при установке значения атрибута контекста (Value)
    Соединение.Parameters(0).Value = СтрКонтрСКЛ.UI1C;        
по причине:
Произошла исключительная ситуация (ADODB.Parameter): Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
123 Мисти
 
23.07.14
16:02
(119) В каком месте опять не так?
124 Wobland
 
23.07.14
16:02
(122) акценитрую внимание только на полезной информации: Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
125 Мисти
 
23.07.14
16:03
(121) и что из этого следует?
126 Мисти
 
23.07.14
16:03
Так дело именно в аргументах, или опять всё не так?
127 SSSSS_AAAAA
 
23.07.14
16:04
(123) В нескольких. Особенно в вашей голове.
128 Wobland
 
23.07.14
16:04
(125) вроде он булев и сообщает в твоём случае, что результат запроса пуст
129 SSSSS_AAAAA
 
23.07.14
16:04
(126) Не в аргументах, а в вашей с ними работе.
130 Wobland
 
23.07.14
16:04
(126) истина
131 SSSSS_AAAAA
 
23.07.14
16:04
Ошибки в вашей логике
132 Мисти
 
23.07.14
16:05
644b3da3-5f49-4c38-bd54-6a0dc68df32f, тип уникальный идентификатор, а мне нужен строка, так что ли?
133 SSSSS_AAAAA
 
23.07.14
16:05
Вы так и не поняли откуда и как появляются и заполняются параметры.
134 Wobland
 
23.07.14
16:05
весёлый, конечно, отладчик в текстовом режиме здесь. но, может, шайтан вьюер и покончим с этой вакханалией?
135 Мисти
 
23.07.14
16:08
Если Выборка.EOF()=0 Тогда - вот это теперь вранье.
А! Или про это уже было в 121?
136 SSSSS_AAAAA
 
23.07.14
16:08
(119) Вам написали готовый код. Который вы не смогли запустить только из-за ошибки выскакивающей на Refresh(). Может таки довести этот код до ума или будете метаться со своим г-кодом?
137 Мисти
 
23.07.14
16:09
(136) Так а я не знаю, как ту ошибку исправить!
138 Wobland
 
23.07.14
16:10
(137) это ты мало читала (107). нужно не менее трёх раз
139 Мисти
 
23.07.14
16:13
(138) В смысле, что там грамматическая ошибка?
140 Мисти
 
23.07.14
16:14
Нет, нет ошибки.
141 Wobland
 
23.07.14
16:14
(138) сторно. ну да. там дальше ошибка синтаксиса
142 Мисти
 
23.07.14
16:15
Cmd.Parameters.Refresh();
Я думала, может Parametres, но нет.
Какая ошибка?
143 Мисти
 
23.07.14
16:38
Вроде, моя история сработала, но там теперь другая засада - описание таблицы, которую мне выслали заранее не совпадает с таблицей, которую они сделали.
144 Мисти
 
23.07.14
19:49
Спасибо большое кой-кому!
Осталась еще проблема.
Если строки нет, то
ТекстЗапроса = "INSERT INTO gtw_AccountExport VALUES
        |(NULL,
- и т.д., работает
А если строка есть, то
ТекстЗапроса = "UPDATE  gtw_AccountExport VALUES
        |(NULL,
Не работает!
Там надо по-другому писать?
145 ДенисЧ
 
23.07.14
19:51
Какая жаль, что а) у меня нет пулемёта, и б) ты не в прямой видимости...
146 Wobland
 
23.07.14
19:55
(144) упдейт несколько не похож на инсерт
http://www.w3schools.com/sql/sql_update.asp
147 Wobland
 
23.07.14
19:56
+(146) -> (101)
148 Мисти
 
23.07.14
20:07
ТекстЗапроса = "INSERT INTO gtw_AccountExport VALUES

        |(NULL,  - вот это было написано без перечисления столбцов, в предположении, что они все задаются по порядку, для UPDATE - тоже ведь так можно?
149 Мисти
 
23.07.14
20:07
(145) А дети-сИроты?
150 ДенисЧ
 
23.07.14
20:08
(149) Я поставлю свечку в цервки за их процветание.
151 ДенисЧ
 
23.07.14
20:09
(148) нет. нельзя.
Я давал ссылку на простейший учебник. Мой племянник в 14 лет его понял.
152 Wobland
 
23.07.14
20:11
UPDATE  gtw_AccountExport SET  Name = ?, AccountOwnerShipId = ?    WHERE [UI1C] = ?
ну или что там меняется
153 ДенисЧ
 
23.07.14
20:12
(152) Вот благодаря таким, как ты, она никогда не сможет сама писать код....
154 Wobland
 
23.07.14
20:16
(153) я жажду прекращения ветки ;)
155 Мисти
 
23.07.14
20:17
(153) Мне первый и последний раз потребовался скл!
Я закончу и через 2 недели забуду абсолютно - читала я учебник, не читала...
Зато у меня дочка толковая - красный диплом, во все аспирантуры берут, а она выбирает.
156 Мисти
 
23.07.14
20:17
Будет новая завтра, обещаю!
157 ДенисЧ
 
23.07.14
20:20
НЕТ!!!!! Я этого не переживу!!!
158 Мисти
 
23.07.14
20:24
А ничего нельзя поделать с тем, что UI1C в 1 случае - первый параметр, а во втором - последний? Это ж 2 раза писать все списки! или отдельную процедуру для их заполнения писать! ( у меня еще таблиц штук 10 должно быть)
159 Wobland
 
23.07.14
20:26
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');

UPDATE Customers
SET ContactName='Alfred Schmidt', City='Hamburg'
WHERE CustomerName='Alfreds Futterkiste';
160 Мисти
 
23.07.14
20:43
Перечислять все столбцы явно?
Ладно, обойдусь!
161 Мисти
 
23.07.14
20:46
ТекстЗапроса = "update account set DoDelete = ?, Name = ?, FullName = ?, ParentAccountId = ?,PhoneNumber = ?,RegionUI1C = ?,CityUi1C = ?,ZIP = ?,Address = ?,  WHERE [UI1C] = ?";
        Cmd.CommandText = ТекстЗапроса;
        Cmd.Parameters(0).Value = СтрКонтрСКЛ.DoDelete;

Не работает!
Говорит - Cmd.Parameters(0) - нет там никаких параметров.
162 Wobland
 
23.07.14
20:57
(161) у тебе этот код (установка параметра после установки текста) уже тыщу раз здесь работал. всё верно
163 Мисти
 
23.07.14
21:01
А что ж тогда не так?
164 шаэс
 
23.07.14
21:01
(ого, вот это выдержка у молодых людей. и стойкое желание помочь. прям из-за таких веток хочется что-нибудь новое поизучать)
165 Мисти
 
23.07.14
21:02
пароль 1292
166 Hans
 
23.07.14
21:05
выдайте дочь за богатого и забудте 1С как кошмарный сон.
167 ДенисЧ
 
23.07.14
21:06
Кстати, фото дочки в студию...
Может, тогда сниму ээээ ... санкции....
168 МихаилМ
 
23.07.14
21:07
(155)
врете

вот ваша ветка 4 летней давности

v8: Из 8 работать с базой SQL не 1с - как?
169 Hans
 
23.07.14
21:08
В крайнем случае можно выдать дочь за Одинесника. На форуме полно неженатых.
170 МихаилМ
 
23.07.14
21:10
+(168)
вот еще про запись в базу

v8: Запись в базу SQL

так что врете
171 Мисти
 
23.07.14
21:18
(168) Я не вру! Я абсолютно об этом забыла, и даже почитав ветку не вспомнила - доделала ли я это и зачем это было.
172 Мисти
 
23.07.14
21:23
Очевидно, что (170) - это то же, что и (168), но, похоже, что я без этого обошлась в конце-концов.
173 Мисти
 
23.07.14
21:24
(167) Это будет на крайний случай. Она еще и красавица.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан