|
Работа с скл из 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
|
||||
169
Hans
23.07.14
✎
21:08
|
В крайнем случае можно выдать дочь за Одинесника. На форуме полно неженатых.
|
|||
170
МихаилМ
23.07.14
✎
21:10
|
||||
171
Мисти
23.07.14
✎
21:18
|
(168) Я не вру! Я абсолютно об этом забыла, и даже почитав ветку не вспомнила - доделала ли я это и зачем это было.
|
|||
172
Мисти
23.07.14
✎
21:23
|
Очевидно, что (170) - это то же, что и (168), но, похоже, что я без этого обошлась в конце-концов.
|
|||
173
Мисти
23.07.14
✎
21:24
|
(167) Это будет на крайний случай. Она еще и красавица.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |