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

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Hadroran
Сообщения: 39
Зарегистрирован: 22 фев 2005, 10:23

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

Сообщение Hadroran » 22 фев 2005, 10:24

Помогите из Delphi прочесть значение генератора. У меня получается только изменение его значения. Может кто кодом подскажет.
Спасибо.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 22 фев 2005, 10:48

www.ibase.ru/devinfo/generator.htm

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

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

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 22 фев 2005, 12:02

Устал, вижу. Уже не спрашиваешь - а на фига :)

Hadroran
Сообщения: 39
Зарегистрирован: 22 фев 2005, 10:23

Сообщение Hadroran » 22 фев 2005, 12:53

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;
...

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 22 фев 2005, 13:30

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

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

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 22 фев 2005, 13:47

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

Щукин В.В.
Сообщения: 9
Зарегистрирован: 04 янв 2005, 17:25

Сообщение Щукин В.В. » 22 фев 2005, 14:32

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

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 22 фев 2005, 14:45

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

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

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

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

Ответить