Страница 1 из 1

Чтение генератора в InterBase

Добавлено: 22 фев 2005, 10:24
Hadroran
Помогите из Delphi прочесть значение генератора. У меня получается только изменение его значения. Может кто кодом подскажет.
Спасибо.

Добавлено: 22 фев 2005, 10:48
kdv
www.ibase.ru/devinfo/generator.htm

в общем, еще пара таких вопросов - и забаню.

у тебя есть силы открыть www.ibase.ru/develop.htm ?

Добавлено: 22 фев 2005, 12:02
Merlin
Устал, вижу. Уже не спрашиваешь - а на фига :)

Добавлено: 22 фев 2005, 12:53
Hadroran
var
gen_value:integer;
...
IBSQL.SQL.Add('select GEN_ID(GEN_NUM_NAKLAD, 0) from rdb$database');
IBSQL.ExecQuery;
gen_value := IBSQL.Fields[0].AsInteger;
ShowMessage(inttostr(gen_value));
IBSQL.Close;
...

Сам спросил и сам ответил.

Добавлено: 22 фев 2005, 13:30
kdv
IBSQL.SQL.Add('select GEN_ID(GEN_NUM_NAKLAD, 0) from rdb$database');
ну и ... какого, спрашивается? статью-то почитай, все-таки. нельзя тут 0 писать.

Блин, только топик хотел удалить. вроде бы просто все - прочитал статью, и до свидания. Нет, все равно муть пишут ...

Добавлено: 22 фев 2005, 13:47
Merlin
Не, ну при всяких там базоремонтных работах-то в гордом одиночестве можно - просто посмотреть что там с ними творится и репу почесать. Вот зачем это из приложения делать, а не инструментом - это конечно загадка. Имею подозрение на попытку автоматизации обхода пофиксенного в полуторке бага с несбросом генераторных страниц при краше, но может я слишком доверчиво отношусь к людям ;)

Добавлено: 22 фев 2005, 14:32
Щукин В.В.
kdv писал(а):
IBSQL.SQL.Add('select GEN_ID(GEN_NUM_NAKLAD, 0) from rdb$database');
ну и ... какого, спрашивается? статью-то почитай, все-таки. нельзя тут 0 писать.

...
опаньки... а в статье по твоей ссылке (generator.htm) там как раз 0 стоит :?:

Добавлено: 22 фев 2005, 14:45
kdv
ну да, мы программеры, мы только код читать можем. а русские буквы - никак. Да? :lol:

и потом, это ЕДИНСТВЕННОЕ МЕСТО, где gen_id(x,0) указано. Со специальной припиской!

Приписку выделил жирным шрифтом.
Пометил красным цветом.
Добавил текст: Таким образом, получать значение генератора, не увеличивая его на 0, можно только с "информационной" точки зрения, например, вызывая регулярно gen_id(x, 0) для просмотра, как часто меняется значение генератора в работающей системе.

теперь не отвертитесь! :wink: