powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / GetIdentity
8 сообщений из 33, страница 2 из 2
GetIdentity
    #33083244
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
savosin_sergeyи второе: если не используется это identity column, то какая альтернатива в реальных программах этому есть?
AtAtIdentity в help'е по PB.
...
Рейтинг: 0 / 0
GetIdentity
    #33083250
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для savosin_sergey : собственно со всеми согласен, только хочу обратить внимание, что в моем варианте мне вообще не нужно знать @@identity, т.к. его значение сохраняется в @ident
Код: plaintext
1.
 SELECT @ident = ident, … FROM INSERTED
и записывается в таблицу Status триггером. Изначально тоже боролся за то, чтобы получить достоверное значение @@identity. Оказалось, что данный вариант решил все мои проблемы. Удачи !
...
Рейтинг: 0 / 0
GetIdentity
    #33083803
Фотография savosin_sergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChVМне досталась "в наследство" база ( MS SQL ) с такой организацией : в одной таблице ( назовем "status" ) хранится общая информация записей нескольких таблиц ( назовем "tab...") с разной структурой. Запись в таблица Status содержит ключ таблицы tab... ( назовем id_tab ) ,её тип и т.д.
Это у вас получается связь не "один-ко-многим" (master-detail), а "многие-ко-многим", раз уж для связи между двумя таблицами используется третья, хранящая их первичные ключи
...
Рейтинг: 0 / 0
GetIdentity
    #33083810
Фотография savosin_sergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк savosin_sergeyи второе: если не используется это identity column, то какая альтернатива в реальных программах этому есть?
AtAtIdentity в help'е по PB.
Действительно, правда на oledb, видимо, не действует:
pb helpApplies to

MSS Microsoft SQL Server
...
Рейтинг: 0 / 0
GetIdentity
    #33084695
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
savosin_sergey ChVМне досталась "в наследство" база ( MS SQL ) с такой организацией : в одной таблице ( назовем "status" ) хранится общая информация записей нескольких таблиц ( назовем "tab...") с разной структурой. Запись в таблица Status содержит ключ таблицы tab... ( назовем id_tab ) ,её тип и т.д.
Это у вас получается связь не "один-ко-многим" (master-detail), а "многие-ко-многим", раз уж для связи между двумя таблицами используется третья, хранящая их первичные ключиНаверное я объяснил не достаточно четко - это не "многие-ко-многим", ну да бог с ним. Сама организация БД мне не нравится, но "так исторически сложилось" еще до меня, обсуждать это - пустая потеря времени. Я только хотел обратить внимание на использование триггера в этой ситуации. На мой взгляд вполне красивое решение.
...
Рейтинг: 0 / 0
GetIdentity
    #33096697
Фотография savosin_sergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возвращаясь к identity column - свойству datawindow..
Оказалось, для того, что бы dw сама поставила после update() значение identity column , необходимо, чтобы в этой колонке перед update() было значение NULL .. а если оно, значение, было каким-либо конструктором некоторого базового класса инициализированно нулём при добавлении, то после update() 'та нулём и останется!

всё-таки обидно, что в провайдере oledb нет настройки, как у mss-провайдера dbparm='AtAtIdentity=1' ..
...
Рейтинг: 0 / 0
GetIdentity
    #33299783
Kleverr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Верно! Такой код работает! Всем спасибо!

string ll_result
string ls_sql = "select @@identity"
DECLARE aa_cur DYNAMIC CURSOR FOR SQLSA;
PREPARE SQLSA FROM :ls_sql USING SQLCA;
OPEN DYNAMIC aa_cur;
FETCH aa_cur INTO :ll_result;
CLOSE aa_cur ;
messagebox("new_id",string(ll_result))
...
Рейтинг: 0 / 0
GetIdentity
    #33301572
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
savosin_sergeyвсё-таки обидно, что в провайдере oledb нет настройки, как у mss-провайдера dbparm='AtAtIdentity=1' ..Теперь уже есть настройка. Последний билд десятки берет настройку GetIdentity из pbodbXX.ini. и для драйвера OLEDB тоже.
Видимо кто-то вместо того чтобы материть Sybase, запостил на casexpress.sybase.com баг с маленьким примером для воспроизведения бага.
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / GetIdentity
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]