Страница 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
ну да, мы программеры, мы только код читать можем. а русские буквы - никак. Да?
и потом, это ЕДИНСТВЕННОЕ МЕСТО, где gen_id(x,0) указано. Со специальной припиской!
Приписку выделил
жирным шрифтом.
Пометил
красным цветом.
Добавил текст:
Таким образом, получать значение генератора, не увеличивая его на 0, можно только с "информационной" точки зрения, например, вызывая регулярно gen_id(x, 0) для просмотра, как часто меняется значение генератора в работающей системе.
теперь не отвертитесь!
