Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];

Вниз

Запись данных в базу через IBX компоненты   Найти похожие ветки 

 
Анатолий   (2002-03-07 07:51) [0]

Почему такая конструкция копмилится, но не работает :
(пишется знаение РР в поле VAL_TT таблицы SOSTT)
IBDateSet1.ModifySQL:=
update SOSTT
set
ADRESS = :ADRESS,
PARAM = :PARAM,
VAL_TT = :VAL_TT
where
ADRESS = :OLD_ADRESS and
PARAM = :OLD_PARAM and
VAL_TT = :OLD_VAL_TT
...
IBDataSet1.Open;
IBDataSet1.Edit;
IBDataSet1.FieldByName("Val_tt").AsInteger:=PP;
IBDataSet1.Post;
IBDataSet1.Close;
...
а такая конструкция :
...
IBTable1.Open;
IBTable1.Edit;
IBTable1.FieldByName("Val_tt").AsInteger:=PP;
IBTable1.Post;
IBTable1.Close;
...
работает.


 
Alexandr   (2002-03-07 08:30) [1]

а какая ошибка-то?


 
Анатолий   (2002-03-07 09:01) [2]

Как только по тексту ставишь :
...
IBDataSet1.Post;
...
возникает исключительная ситуация, а если
...
IBDataSet1.Edit;
IBDataSet1.FinNext;
IBDataSet1.Prior;
...
ничего не пишется, но и не возникает исключительной ситуации.


 
ОлегЕ   (2002-03-07 09:13) [3]

Для UPDATE и INSERT нужно вызывать не OPEN, а ExecSQL.
IBDateSet1.ModifySQL:=
update SOSTT
set
ADRESS = :ADRESS,
PARAM = :PARAM,
VAL_TT = :VAL_TT
where
ADRESS = :OLD_ADRESS and
PARAM = :OLD_PARAM and
VAL_TT = :OLD_VAL_TT

IBDateSet1.Prepare;
IBDateSet1.ParamByName("Val_tt").AsInteger:=PP;
IBDateSet1.ExecSQL;


 
Deniz   (2002-03-07 09:18) [4]

Вместо IBDataSet я использую связку IBQuery + IBUpdateSQL.
Пока проблем не было.
Удачи.


 
Johnmen   (2002-03-07 09:37) [5]

>ОлегЕ : Причем здесь ExecSQL , если человек работает с модифицируемым IBDateSet ???
>Анатолий : Я думаю, что не проходит по причине отсутствия значений у параметров OLD_...А вообще параметры в ModifySQL и иже с ним берутся из значений текущей записи и записи из НД, на который указывает IBDateSet.DataSource (может не быть).


 
Анатолий   (2002-03-07 09:38) [6]

ОлегЕ, и в этом случае возникает исключительная ситуация :

IBDateSet1.ModifySQL:=

update SOSTT
set
ADRESS = :ADRESS,
PARAM = :PARAM,
VAL_TT = :VAL_TT
where
ADRESS = :OLD_ADRESS and
PARAM = :OLD_PARAM and
VAL_TT = :OLD_VAL_TT
...
IBDateSet1.Prepare;
IBDateSet1.ParamByName("Val_tt").AsInteger:=PP;
IBDateSet1.ExecSQL;




Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
1-128
oomneeq
2002-03-21 12:26
2002.04.01
Как управлять включением TD32 Debug Info


1-90
Sergey Saf
2002-03-21 12:07
2002.04.01
Воспроизведение файла


14-318
lel (A)
2002-02-15 14:41
2002.04.01
Почему, в любом обществе, всегда существует класс недовольных.??? 8(((((


1-226
reg
2002-03-20 16:49
2002.04.01
hidden properites


1-149
Просто чел
2002-03-22 00:46
2002.04.01
КАК СОЗДАТЬ MEMO НА СТРАНИЧКЕ TabSheet





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский