Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема OLEDB + Update (число прочтений - 3167 )
S.W.A.T.
Junior Member
**
Отсутствует



Сообщений: 42
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
OLEDB + Update
20. Ноября 2006 :: 10:41
Печать  
Всем привет!

Помогите разобраться. Ситуация такая. База ДБФ,использую подключение через OLEDBData:
Код
Выбрать все
	ОЛЕДБ = СоздатьОбъект("OLEDBData");
	ОЛЕДБ.Соединение("Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ() + ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""");
	Комманда = ОЛЕДБ.СоздатьКоманду();
 



Получение данных при этом отрабатывает нормально, а при поптыке изменить данные получаю Syntax error.
Текст запроса:
Код
Выбрать все
	ТекстЗапросаОбн = "
	| update 1sconst
	| set value = :НовЗн
	|  where
	|    (id = $ИсторияРеквизита.Сотрудники.Оклад) and
	|    (objid = :Сотр) and
	|    (docid = :Док)
	|";

	Комманда.УстановитьТекстовыйПараметр("Док",Док.ТекущийДокумент());
	Комманда.УстановитьТекстовыйПараметр("Сотр",Док.Сотрудник);
	Комманда.УстановитьТекстовыйПараметр("НовЗн",текОкладСтр);
	Комманда.Отладка(1);
	Попытка
		Комманда.Выполнить(ТекстЗапросаОбн);
	Исключение
		Сообщить(ОписаниеОшибки());
	КонецПопытки;
 



Почему? Кто-нибудь объясните плииииз  Улыбка

  
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: OLEDB + Update
Ответ #1 - 20. Ноября 2006 :: 11:09
Печать  
насколько знаю из доки
Цитата:
Описание виртуальных значений
Виртуальные значения поддерживаются только для SQL формата ИБ.

ПоследнееЗначение позволяет получить последнее значение на указанную дату.
НачалоПериода позволяет получить значение типа datetime, соответствующее началу периода <Период>.

  
Наверх
 
IP записан
 
S.W.A.T.
Junior Member
**
Отсутствует



Сообщений: 42
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDB + Update
Ответ #2 - 20. Ноября 2006 :: 11:21
Печать  
DrACe писал(а) 20. Ноября 2006 :: 11:09:
насколько знаю из доки
Цитата:
Описание виртуальных значений
Виртуальные значения поддерживаются только для SQL формата ИБ.

ПоследнееЗначение позволяет получить последнее значение на указанную дату.
НачалоПериода позволяет получить значение типа datetime, соответствующее началу периода <Период>.



Так не используется у меня $ПоследнееЗначение Подмигивание Ты путаешь с $ИсторияРеквизита. Запрос нормально парсится, вот что выводит при отладке:
Код
Выбрать все
update 1sconst
 set value = 'N			1000'
  where
    (id = '  1C') and
    (objid = '    13   ') and
    (docid = '    1L   ')
FAILED! ICommandText::Execute(): Syntax error.
 

  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDB + Update
Ответ #3 - 20. Ноября 2006 :: 12:15
Печать  
Потому что в этом %::%;ом фоксе есть зарезервированное слово VALUE - вот ругается на него.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDB + Update
Ответ #4 - 20. Ноября 2006 :: 12:19
Печать  
Может поможет чем:
Код
Выбрать все
update Const from 1sconst as Const
set const.value = 'N			1000'
where
    (const.id = '  1C') and
    (const.objid = '    13   ') and
    (const.docid = '    1L   ')
 

  
Наверх
ICQ  
IP записан
 
S.W.A.T.
Junior Member
**
Отсутствует



Сообщений: 42
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDB + Update
Ответ #5 - 20. Ноября 2006 :: 12:24
Печать  
spock писал(а) 20. Ноября 2006 :: 12:19:
Может поможет чем:
Код
Выбрать все
update Const from 1sconst as Const
set const.value = 'N			1000'
where
    (const.id = '  1C') and
    (const.objid = '    13   ') and
    (const.docid = '    1L   ')
 


Огромное спасибо, spok, помогло  Очень довольный
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать