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

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

не сохраняются данные при закрытии в таблице


Страницы:   1 2

eclipse ©   (2006-05-26 12:25:00) 

приветствую =) у меня небольшая проблемка с сохранением данных в бд... при внесении изменений в таблицу с помощью Dataset.Edit и Dataset.Post всё изменяется но при закрытии всё остаётся по старому... на форме есть Datasourse1 и Query_table =) связку из Query Table и Datasourse не получилось сделать... поэтому пришлось юзать только query и прописать у него в Query_tableUpdateRecord // Allow to change records...
знаю что если был бы тэйбл то прописав Table.Close всё должно бы сохраняться... но вот с Query такое не прокатило =)


eclipse   (2006-05-29 04:16:00) [1]

=) а самое главное что сам CachedUpdates нужен мне не был... так как в данной проге большого плюса не превносил и был бы просто приятной мелочью =) а нужно было лишь только то чтобы Query был редактируемым... поставил CahedUpdates в true только потому что во всех статьях etc говорилось что без него Query редактируемым не будет... а оказалось чтобы он был редактируемым нада в OnUpdateRecord хотя бы банальный коммент поставить и всё будет классн =)


eclipse   (2006-05-27 10:57:00) [2]

из DataBase Desctop-a открывается при открытом проекте... и поставив в условие if Query_tables.UpdatesPending then
  Query_tables.ApplyUpdates;
Showmessage если условие выполняется мессага не вывелась... то есть он query получается не видит изменений... изменения вводят в DBEditEh... свойство датасорс связано с Form_table.DataSource1 ну и у него в свою очередь стоит датасет Query_tables...


ЮЮ   (2006-05-27 10:46:00) [3]

>то есть сначала нада вызвать Query_table.Ediе???

Нет, это уже казается физичесого файла таблицы. Где лежит файл? Не стоил ли галочка "только чтение" у него и индексных файлов. И нет ли гденибудь в проекте открытой TTable? Из DataDase Desctop-a открывается при открытом проекте?


eclipse   (2006-05-27 10:33:00) [4]

> Самое интересное и не рассказал: ... Что за ошибка?
Table is read only

то есть сначала нада вызвать Query_table.Ediе???


ЮЮ   (2006-05-27 10:30:00) [5]


> но если прописать просто Query_tables.ApplyUpdates то происходит
> ошибка...

Можно и не просто:
 if Query_tables.UpdatesPending then
   Query_tables.ApplyUpdates;
 
Самое интересное и не рассказал: ... Что за ошибка?


eclipse   (2006-05-27 10:19:00) [6]

вот именно его... ApplyUpdates... мне и надо вызвать... но если прописать просто Query_tables.ApplyUpdates то происходит ошибка...


ЮЮ   (2006-05-27 10:17:00) [7]

Да, кстати. а ApplyUpdates вызываешь?


eclipse   (2006-05-27 10:00:00) [8]

> ЮЮ
Query.UpdateObject точно стоит... а вот про поле Price (rub) сейчас проверю...


ЮЮ   (2006-05-27 09:56:00) [9]


> хотя по запросу всё должно меняться так как set стоит...

Для этого запрос должен выполниться. Ты точно указал этот UpdateSQL в качестве Query.UpdateObject? А удаление выполняется

Что-то мне не нравится название поля 'Price (rub)', ибо запрос получается синтаксически неверным.


eclipse   (2006-05-27 08:29:00) [10]

в самом гриде изменения происходят... правда они и происходили так как прописан Datasource1.Dataset.Post... но если убрать этот пост и просто юзать UpdateSQL также изменения идут только в гриде... хотя по запросу всё должно меняться так как set стоит...


eclipse   (2006-05-27 08:26:00) [11]

> ЮЮ ©
генерируется следующий запрос...
update "main.DB"
set
 Name = :Name,
 OEM = :OEM,
 Count = :Count,
 Price = :Price,
 Price (rub) = :Price (rub),
 Primecost = :Primecost,
 Date = :Date,
 Credit = :Credit,
 Maker = :Maker,
 Category = :Category,
 Subcat = :Subcat
where
 Index = :OLD_Index
и вроде бы он верный... или всё-таки Index по-другому прописать надо???


ЮЮ   (2006-05-27 08:16:00) [12]


> а еслю юзать UpdateSQL... почему не срабватывают запросы
> которые прописаны в Modify???

А какой запрос там генерируется?
Если
... WHERE Field1=:OLD_FIELD1 AND FieldN=:OLD_FIELDN
то следует создать(назначить) ключевое поле, чтобы запрос имел вид
... WHERE KeyField = :OLD_KEYFIELD


eclipse   (2006-05-27 08:14:00) [13]

и про ApplyUpdates вроде бы всё понятно что надо подтвердить изменения чтобы сбросить из кэша в таблицу... но непонятно как именнр прописать... к чему привязать...


eclipse   (2006-05-27 07:56:00) [14]

а еслю юзать UpdateSQL... почему не срабватывают запросы которые прописаны в Modify???


Сергей М.   (2006-05-26 15:48:00) [15]


> MsGuns ©   (26.05.06 15:35) [16]


У Автора-то лыжи "прямо щас" не едут) ... то ли на асфальте он, то ли ..))


eclipse   (2006-05-26 15:45:00) [16]

> Sergey13
спасибо огромное =) постараюсь разобраться...


MsGuns   (2006-05-26 15:35:00) [17]

>Сергей М. ©   (26.05.06 15:17) [15]
>Сегодня-то Парадокс, а завтра Автора "осенит идея"  поработать через BDE с другими СУБД.
Ы ?

Когда выпадет снег, тогда только я надену лыжи.
Ю ?


Сергей М.   (2006-05-26 15:17:00) [18]


> MsGuns ©   (26.05.06 14:54) [10]


Сегодня-то Парадокс, а завтра Автора "осенит идея"  поработать через BDE с другими СУБД.
Ы ?


Sergey13   (2006-05-26 15:14:00) [19]

2 [13] eclipse ©   (26.05.06 15:10)
Тогда ткни в это свойство и нажми F1. Не забудь в "see also" заглянуть на предмет ApplyUpdates.


eclipse   (2006-05-26 15:10:00) [20]

> Sergey13
Sergey13 := true


Страницы:   1 2

Наверх

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