Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение записи в БД ФБ [D6, Win2k, WinXP]


Страницы:   1 2

DelphiN! ©   (2005-02-20 13:29:00) 

Использую IbQuery IbUpdateSQl при добавлении записи методом IBQuery.Append; Запись не сохраняеется в базе, хотя я в idUpdateSQl сгенерировал SQL код всех событий, почему ?

Добавляю запись так:

Query.Append;
Query.FieldByName('Field').AsString := 'Value';
Query.Append;

procedure QueryAfterPost(DataSet: TDataSet);
begin
 Tar_UpdateSQL.Apply(ukModify);
end;

Почему изменения не сохраняються в таблице ?


ЮЮ   (2005-02-21 09:19:00) [21]

>Запрос на удаление :
>Query.Delete; //Тут ошибка Update Failed

Запрос на удаление, который лежит в TIBUpdateSQL !!!
З.Ы.
Как раз запрос такого вида (в TIBUpdateSQL )
'DELETE FROM BRON WHERE USER = 'Unknown'
и выдвст ошибку, т.к. в WHERE должно стоять условие по ключевому полю и удаляться не более одной записи (а может и точно одна)


DelphiN!   (2005-02-21 09:11:00) [22]

Вот структура таблицы :

Имя поля         Тип поля        Размер

COMP_             VARCHAR          20
TimeS_              DATE          
TimePo_             DATE
USER_              VARCHAR          20
USLUG_            VARCHAR          20
SKIDKA_            INTEGER
PRIOR_              INTEGER

Запрос на удаление :
Query.Delete; //Тут ошибка Update Failed

Если удаляю так:
 BRON.SQL.Text := 'DELETE FROM BRON WHERE USER = 'Unknown';';
 BRON.ExecSQL;
То все OK

Почему Query.Delete дает ошибку ?


Anatoly Podgoretsky   (2005-02-21 09:04:00) [23]

И приводи точный код, не к чему нам пытаться делать выводы по ложному.


ЮЮ   (2005-02-21 08:58:00) [24]

>После Query.Delete у меня вылетает ошибка Update Failed Почему

Запрос на удаление покажи, для начала. И кратенько о структуре таблмцы :)


DelphiN!   (2005-02-21 08:44:00) [25]

Чтобы Query не закрывался после обновления разобрался как - Transaction1.CommitRetaining;

Кстати, как удалять записи ? После Query.Delete у меня вылетает ошибка Update FailedПочему ?


DelphiN!   (2005-02-21 08:29:00) [26]

А можно какнибудь сохранить данные в таблице, чтобы Query вообще не закрывался после обновления ?


DelphiN!   (2005-02-21 07:54:00) [27]


>  [2] Anatoly Podgoretsky ©   (20.02.05 18:15)
> А потому что Post нет, вместо него два append


Я просто описался, в реальной программе у меня Post


>  [1] DSKalugin ©   (20.02.05 17:43)
> Изменения вступают в силу только после
> Transaction.commit


Интересно получается, я создал тестовый проект, и там данные нормально записываються без Transaction.commit, а в реальном проекте не записывались, но как вставил в AfterPost Transiction.Commit стали записываться, почему в тестовом проекте без Transiction.Commit записывалось все ?
 Также после Transiction.Commit Query закрывается, почему ? Как и где лучше его открыть снова ?
 


>  [3] ЮЮ ©   (21.02.05 03:41)


Я уже понял, что можно просто UpdateObject указать, спасибо


ЮЮ   (2005-02-21 03:41:00) [28]

Потому что при вставке, ИМХО, работает запрос ukInsert.
З.Ы. Зачем вообще нужен костыль в ввиде "Tar_UpdateSQL.Apply(ukModify);"? Почему просто не указать Tar_UpdateSQL в качестве UpdateObject-а для Query. Или, вообще, вместо IBQuery используй IBDataSet, где все в одном флаконе (си. TIBDataSet.[Insert|<прочие>]SQL)


Anatoly Podgoretsky   (2005-02-20 18:15:00) [29]

А потому что Post нет, вместо него два append


DSKalugin   (2005-02-20 17:43:00) [30]

Изменения вступают в силу только после
Transaction.commit


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо