Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Кэшированные изменения
|
|||
|---|---|---|---|
|
#18+
У меня в таблице есть два вычисляемых поля. Использую IBDataSet, DBGrid - почему при добавлении записи в локальный буфер (кэш) эти два поля мне не показываются, а показываются только после ApplyUpdates??? Можно ли как-то это исправить? И как получить доступ к любому полю НД в кэше программно??? Как мне проверить в кэшированных, ещё не подтверждённых изменениях, единственность записи??? (насколько я понял - этого сделать нельзя) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 10:27 |
|
||
|
Кэшированные изменения
|
|||
|---|---|---|---|
|
#18+
>два вычисляемых поля Они у тебя где, в запросе вычисляются наверно. Так кто ж их тебе в DataSet будет пересчитывать. ИСпользуй вычисляемые поля в DataSet, чтоб они пересчитывались без обращения к серверу. >И как получить доступ к любому полю НД в кэше программно??? DataSet.FieldByName('SomeField').Value, .NewValue, .OldValue. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 10:36 |
|
||
|
Кэшированные изменения
|
|||
|---|---|---|---|
|
#18+
Да нет, всё прописанно в таблице: CREATE TABLE NORMA ( COD VARCHAR (12) character set WIN1251 NOT NULL collate WIN1251, ART VARCHAR (30) character set WIN1251 NOT NULL collate WIN1251, DIZ VARCHAR (30) character set WIN1251 collate WIN1251, COL VARCHAR (30) character set WIN1251 NOT NULL collate WIN1251, NAMEPR VARCHAR (30) character set WIN1251 NOT NULL collate WIN1251, COLPR VARCHAR (30) character set WIN1251 NOT NULL collate WIN1251, NORM NUMERIC (15, 5) NOT NULL, COFPR NUMERIC (15, 2), CFAKTPR NUMERIC (15, 2), SEBOF COMPUTED BY (norm*cofpr), SEBFAKT COMPUTED BY (norm*cfaktpr)); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 10:42 |
|
||
|
Кэшированные изменения
|
|||
|---|---|---|---|
|
#18+
>Да нет, всё прописанно в таблице: Ну а откедова DataSet то знает, что у тебя в таблице поле вычисляемое. Делай вычисляемые поля в DataSet, вычисляй их на OnCalcFields, а те поля, которые в таблице вычисляемые можешь вообще на клиента не тянуть. Пусть они в базе при сохранении изменений пересчитываются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 10:48 |
|
||
|
Кэшированные изменения
|
|||
|---|---|---|---|
|
#18+
DM.IBDSNorma.Insert; Присваиваю norm и cofpr значения, proba - вычисляемое поле, созданное в DataSet!!! procedure TDM.IBDSNormaCalcFields(DataSet: TDataSet); begin with DM.IBDSNorma do begin FieldByName('proba').Value:=FieldByName('norm').Value*FieldByName('cofpr').Value; end; end; Если это правильно - то всё равно не работает!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 10:54 |
|
||
|
Кэшированные изменения
|
|||
|---|---|---|---|
|
#18+
Ну во-первых Код: plaintext 1. 2. 3. 4. 5. Глянь, у тебя AutoCalcFields для DataSet True? А DM.IBDSNorma.Post сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 11:04 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=2053&tid=2118655]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 333ms |

| 0 / 0 |
