#0
by YHVVH
Уважаемые гуро 1с, столкнулся с такой ситуацией. ЗапросТекст = "dbo.addOrderStr "{""O"",""0"",""0"",""410"",""0"",""0"","" 980619 ""}","{""B"",""0"",""0"",""33"",""0"",""0"","" 17009 ""}","17028","Амортизатор газовый ГАЗ-3302-3221 (2217 задний) AL-KO ЗМЗ ""Золотая Серия""",4"; Рез = глВыполнитьКомандуSQL(ЗапросТекст); <--- 1 После выполнения <---- 1 выполняется хранимая процедура икоторая записывает в базу одну запись проверяю запись в таблице SQL , есть одна!!!! Процедура возращает код ошибки 0 или 1 через select 0 Или selec 1 процедура (см. ниже) Далее анализирую статус возращенный и вот прикол, на методе MoveFirst она запускается снова и получается дублирование записи. Вопрос как избежать проблемы? Помогите советом.
#3
by YHVVH
сама процедура отрабатывает без проблем, если запускать строчку в SQL редакторе запись одна появляется.
#5
by YHVVH
у меня подозрения на методе MoveFirst тобишь этот метод помещает на первый результат и снова вызывает еще раз то что в тексе запроса.
#7
by YHVVH
ну уговорил нати, код не обсуждать на всякую фигню все еще будет дописываться. GO /****** Объект: StoredProcedure [dbo].[addOrderStr] Дата сценария: 02/19/2009 09:28:59 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; END
#8
by ДенисЧ
Решение простое: объявляй параметр с output и пиши в него значения. А то в твойм случае получается 2 набора записей. Первая - о вызове процедуры, вторая - с результатом.
#10
by YHVVH
процедура отработала вернула значения в виде таблицы одна строчка 0 или 1 зачем второй раз запускать?
#11
by ДенисЧ
@KOLDOC integer, @Resultat INT OUTPUT ... SET NOCOUNT ON В таком случае всё нормально получается через адо.
#18
by YHVVH
GO /****** Объект: StoredProcedure [dbo].[addOrderStr] Дата сценария: 02/19/2009 09:28:59 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO @Result integer output AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; END
#19
by YHVVH
exec dbo.addOrderStr "{""O"",""0"",""0"",""410"",""0"",""0"","" 980619 ""}","{""B"",""0"",""0"",""33"",""0"",""0"","" 17009 ""}","17028","Амортизатор газовый ГАЗ-3302-3221 (2217 задний) AL-KO ЗМЗ ""Золотая Серия""",4,@Resultat OUT SELECT @Resultat
#21
by AHgpuXa
т.е. после Рез = глВыполнитьКомандуSQL(ЗапросТекст); Select * from 1JOURNAL_T возвращает одну запись. А при попытке обратиться к первой записи рекордсета Select * from 1JOURNAL_T возвращает уже 2 записи? Парадокс. Триггеров никаких нет?
#26
by YHVVH
тут видимо надо чиатать про метод, в чем вот разница 1. Если Рез.BOF = 0 Тогда КонецЕсли; во втором случае работает одна запись в первом случае 2 записи.
#28
by AHgpuXa
Теперь вообще не понимаю ничего. Если ключей нет, почему ЗапросТекст = "insert into ""1JOURNAL_T"" (IDDOC1, IDTOVAR, KOLDOC) values ('1', '1', 2)"; - прокатывает один раз.
#31
by AHgpuXa
Вот этого достаточно. Рез.MoveFirst; Потому как Использование BOF возвращает истину, только когда указатель находится перед первой записью. Но вставляет?
#32
by YHVVH
вывод: типа дублирования записи осуществляется при вызове метода MoveFirst в некоторых случаях например после .BOF разобраться так и не удалось, в интернет поискал, встречаются разные конструкции перебора возращенных записей. я остановился на такой Рез.MoveFirst;
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Запуск 1С SQL на не MS SQL сервере ?
- Ошибка SQL 924 при просмотре процессов SQL 2000 +1C 77
- SQL или не SQL ??? как решить ?
- 1cv8 SQL: Имя SQL сервера и имя SQL базы данных
- 77 на SQL 2005, добавил константу , а где ее и как искать в SQL MS 2005
- Парралельная установка Sql 2000 и Sql 2005
- Совместимость SQL 2000 и SQL 2005
В этой группе 1С
- Какой срок полезного использования лицензии на сервер 1С:Предприятия 8.1
- Программно ввести документ копирование!
- УПП. По какому регистру закрывается 20 счет?
- Ошибка при добавлении в справочник Физлица
- Переход с конфигурации Предприниматель 7.7 на бухгалтерию 8
- как в ЗУП создать приказ на компенсаицю отпуска?
- УПП 19 релиз кто сталкивался с ошибкой при формировании 2-НДФЛ?
- СКД: Как расширить заголовок СКД?
- Не сохраняется интервал дат журналов в терминале
- неудачная попытка создания объекта (ADODB.Connection)
- Установка V8 и информационных баз через групповые политики
- Фабрика XDTO
- Что значит сообщение Ошибка разделения данных при обращении к ...users.usr
- БП - не попадают проводки по сч 50.02 в кассовую книгу
- УПП: Заполнение инвентаризации по остаткам с учетом организации
- Восстановление последовательности регламентным заданием
- v7: Как в карточке счета настроить в колонке операция вывод дополнительной инфы из докум
- Как обойти пароль на модуль внешнего отчета epf?
- Куда делись курсы GROOVY? У кого под рукой ссылочки есть?
- БП Закрытие сч.20.01 только по номенклатурным группам, без участия подразделений