![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не сохраняются данные при закрытии в таблице
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