Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как "заставить" TpFIBDataSet при вставке "дочитывать" ID зап
|
|||
|---|---|---|---|
|
#18+
Как "заставить" TpFIBDataSet при вставке "дочитывать" ID записи, созданный генератором? Ситуация следующая: Есть некэшируемый DataSet от FIBPlus. В AutoUpdateOptions прописан сам генератор и UpdateTable; GenBeforePost и SelectGenID - True. Но, как я понял, все эти настройки работают только в том случае, если ДатаСет кэшируемый. Или я не прав? При вставке записи все поля явно присваиваются из клиента, а ID остается - null. В базе стоит триггер(Beforeinsert) на ID этой таблички: IF (NEW.ID IS NULL) THEN NEW.ID = GEN_ID(GEN_SCLAD_ID,1); В базу пишутся, естественно, все поля, а ДатаСет "не знает", какой ID присвоен только-что вставленной записи. Интересно следующее: При рефреше этой только что вставленной записи не по ID, а по другим полям (RefreshSQL): SELECT * FROM SCLAD WHERE (NAMELAT = ?OLD_NAMELAT) AND (NAMERUS = ?OLD_NAMERUS) В гриде, связанном с ДатаСетом, "появляется" правильный ID. Но при последующем удалении (не переоткрывая ДатаСет): DELETE FROM SCLAD WHERE (ID = ?OLD_ID) Удаления не происходит, т.к. ДатаСет опять считает, что ID=null ??? В общем, если хотя бы немного понятно, чего я здесь понаписал, посоветуйте, как "дочитать" ID для вставленной записи? Конечно, можно элементарно с помощью процедуры прочитать значение генератора, и присвоить его явно. Но меня интересует как, все-таки обойтись без создания дополнительных процедур, дополнительных компонент по работе с этими процедурами и т.п., а заставить ДатаСет самого показывать то, что нужно его методами. Если это возможно конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 09:41 |
|
||
|
Как "заставить" TpFIBDataSet при вставке "дочитывать" ID зап
|
|||
|---|---|---|---|
|
#18+
То есть вы хотите сказать, что pFIBDataSet этого не может?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 12:38 |
|
||
|
Как "заставить" TpFIBDataSet при вставке "дочитывать" ID зап
|
|||
|---|---|---|---|
|
#18+
И сам же отвечаю... МОЖЕТ! Разыскал документацию, выяснил, что у меня старая версия fIBPlus'а (которая несколько отличается от описанной в доках), разобрался - все работает. Всем спасибо, кто принимал участие в беседе ))))) т.е. самому себе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2003, 09:04 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=2013&tid=2117061]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 300ms |

| 0 / 0 |
