Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / IBX / 5 сообщений из 5, страница 1 из 1
30.07.2004, 10:59:49
    #32628774
Роман Новичек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBX
Возможно ли получить с помощью IBDataSet следующее значение генератора. Если да, то подскажите, пожалуйста, как?
...
Рейтинг: 0 / 0
30.07.2004, 11:26:37
    #32628852
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBX
А чем тебя обычная процедура не устраивает?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE PROCEDURE SP_GEN_NEXT_ID
RETURNS (
    ID INTEGER)
AS
BEGIN
  ID = GEN_ID(MY_GEN,  1 );
  SUSPEND;
END

И вызывай её хоть через IBQuery
Код: plaintext
select id from sp_gen_next_id
хоть через IBStoredProc.
...
Рейтинг: 0 / 0
30.07.2004, 11:29:17
    #32628859
Rini
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBX
Для получения текущего значения можно использовать
следующую конструкцию

DataSet->SelectSQL->Add("select gen_id(" + GenIDName + " , 0) F1 from rdb$database");
DataSet->Open();

while ( !DataSet->Eof )
{
rezult = Trim(DataSet->FieldByName("F1")->AsString);
DataSet->Next();
}

Ну естесно если поставить gen_id("ddfgdf", 1) будет увеличение
...
Рейтинг: 0 / 0
30.07.2004, 11:30:47
    #32628866
Rini
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBX
Хотя предложенное решение выше намного красивше.
...
Рейтинг: 0 / 0
30.07.2004, 12:04:03
    #32629018
Роман Новичек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBX
спасибо всем
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / IBX / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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