Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-1108467049
Ega23
2005-02-15 14:30
2005.03.06
Украинские народные песни


1-1108562992
AlexG
2005-02-16 17:09
2005.03.06
Пора бы добавить пункты: D2005 и Win2003...


1-1108756422
olookin
2005-02-18 22:53
2005.03.06
Вопрос про TShellTreeView


1-1108636515
snake_r
2005-02-17 13:35
2005.03.06
размер коментария в Excel


14-1108552074
Ega23
2005-02-16 14:07
2005.03.06
Зацепило. Сильно.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский