Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

Чтение генератора из InterBase   Найти похожие ветки 

 
Hadroran   (2005-02-22 10:20) [0]

Уважаемые знатоки.
Как прочесть из базы данных InterBase значение генератора. У меня получается только прибавлять. Может кто поможет кодом.


 
Digitman ©   (2005-02-22 10:32) [1]

select GEN_ID(my_generator, 0) from rdb$database


 
Hadroran   (2005-02-22 10:46) [2]

Я правильно понял, что нужно сделать так:
1. Бросаю на форму компонент IBSQL;
2. IBSQL.SQL.Append(select GEN_ID(<имя генератора>, 0) from <путь к базе>);
3. IBSQL.ExecQuery;

Так? А тогда кому его присвоить?


 
Johnmen ©   (2005-02-22 10:57) [3]

http://www.ibase.ru/devinfo/generator.htm


 
Digitman ©   (2005-02-22 11:01) [4]


> 1. Бросаю на форму компонент IBSQL;


.. и назначаешь кроме этого его св-ва Database , Transaction


> 2. IBSQL.SQL.Append(select GEN_ID(<имя генератора>, 0) from
> <путь к базе>);


IBSQL.SQL.Add("select GEN_ID(<имя генератора>, 0) from
rdb$database");

! никакой не "<путь к базе>", а именно rdb$database !

rdb$database - это обязательно присутствующая в любой IB-базе сист.таблица , содержащая единственную запись (в дан.случае неважно что она содержит)


> А тогда кому его присвоить?


IBSQL.ExecQuery;
gen_value := IBSQL.Fields[0].Value;
IBSQL.Close;


 
Hadroran   (2005-02-22 11:12) [5]

gen_value := IBSQL.Fields[0].Value;

var
gen_value:Variant;

Выдает ошибку при присваивании "Invalid data conversion"


 
Digitman ©   (2005-02-22 11:32) [6]

что-то я не вижу никакого повода для ошибки конвертации ..

и св-во TField.Value и переменная gen_value - обе вариантного типа, происходит прямое присвоение безо всяких конвертаций ..

а какой класс объекта-исключения ?


 
Hadroran   (2005-02-22 12:06) [7]

Помогло только так:

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


 
Johnmen ©   (2005-02-22 12:10) [8]

>Hadroran   (22.02.05 12:06) [7]

Здесь всё абсолютно неверно.


 
Hadroran   (2005-02-22 12:15) [9]

Почему!? Все правильно присваивается.


 
Digitman ©   (2005-02-22 12:41) [10]


> Hadroran   (22.02.05 12:15) [9]


Johnmen, вероятно, имелл в виду, что твоя затея с чтением тек.значения генератора бестолковая ... разве что только поглазеть на прочитанное значение ... ибо через мгновение оно может и вправе измениться на сервере, еще даже ДО того момента как ты улицезреешь его в переменной gen_value


 
Hadroran   (2005-02-22 12:45) [11]

Ну ведь это только пример :) А так спасибо. Получается то, что хотелось.



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.058 c
1-1108593960
VikUA
2005-02-17 01:46
2005.03.06
Стоит ли покупать лиценз.Delphi 8 prof


6-1104081220
Delta
2004-12-26 20:13
2005.03.06
запуск ехе на чужом компе


1-1108625807
Niki
2005-02-17 10:36
2005.03.06
StringGrid


14-1108057793
Franzy
2005-02-10 20:49
2005.03.06
Постоянно трещит флоппи-дисковод


6-1104640261
modem3000
2005-01-02 07:31
2005.03.06
Apache 2 и DLL