Форум: "Основная";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Вниз
Чтение генератора из 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.055 c