|
Как програмно узнать следующее значение автоинкремента
|
|||
---|---|---|---|
#18+
Существует поле Integer(Autoinc) таблицы договоров.При добалении нового договора надо вывести следующее значение автоинкремента, далее это же значение в другие таблички. Вопрос: существует другой способ кроме топорного dogovors.nomer+1, что бы узнать следующее значение автоинкремента? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2010, 15:00 |
|
Как програмно узнать следующее значение автоинкремента
|
|||
---|---|---|---|
#18+
=AFIELDS(laArray) 17 столбец полученного массива показывает очередное значение автоинкремента Только это бессмысленная информация. Ну, узнаете Вы какое значение будет следующее и что это Вам даст? Ведь если, например, "одновременно" с этим другой пользователь добавляет запись, то Ваше прочитанное значение устареет уже в момент его получения. Автоинкремент - это значение, которое становится известно только после физического создания записи (хотя бы в буфере). Поэтому попытка узнать зачение ДО физического создания записи - бесполезна. GETAUTOINCVALUE() - последнее использованное значение автоинкремента в текущей (указанной) DataSession ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2010, 15:09 |
|
Как програмно узнать следующее значение автоинкремента
|
|||
---|---|---|---|
#18+
Ваши действия должны быть такими - Создаете записи в буферизированной таблице договоров - Считываете значение поля с автоинкрементом из буфера таблицы договров - Присваиваете это значение в связанных буферизированных таблицах По окончании модификации открываете транзакцию, сбрасываете значения из буфера. Если сброс прошел удачно - завершаете транзакцию. Если впроцессе сброса была ошибка - откатываете транзакцию ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2010, 15:12 |
|
|
start [/forum/topic.php?fid=41&fpage=98&tid=1585285]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
225ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 351ms |
total: | 660ms |
0 / 0 |