Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Получение атрибута элемента дерева


Автор: Cerber24 7.4.2009, 15:53
Доброго времени суток. Есть приложение, написанное в Delphi 7, работающее с базой FireBird. В этом приложении есть дерево, постороенное из бд. Вопрос, как можно узнать какой-либо атрибут(ID, Parent и т.п.) элемента, кликая по нему мышкой! Заранее спс. если такое где-то уже описано прошу сильно ногами не пинать, smile а скинуть ссылку...

Автор: Kbl4AH 7.4.2009, 16:21
Код

procedure TForm1.TreeView1DblClick(Sender: TObject);
begin
    ShowMessage(TreeView1.Selected.Text);
    ShowMessage(IntToStr(TreeView1.Selected.StateIndex));
    ShowMessage(IntToStr(TreeView1.Selected.Level));
end;

Что именно нужно?

Автор: Cerber24 7.4.2009, 18:02
Нет, нужно достать атрибут элемента из базы, а не индекс под которым он содержится в дереве.

Автор: Kbl4AH 7.4.2009, 19:29
Цитата(Cerber24 @  7.4.2009,  19:02 Найти цитируемый пост)
а не индекс под которым он содержится в дереве

Про индекс в дереве я ничего не говорил... smile 
1) можно целочисленное значение (например поле ID в таблице) записывать в StateIndex узла при заполнении дерева
2) потом можно по этому ID вытянуть любые поля записи из таблицы запросом:
Код

procedure TForm1.TreeView1DblClick(Sender: TObject);
begin    
  Query.DeclareAndSet('ID', otInteger, TreeView1.Selected.StateIndex);
  Query.SQL.Text := 'select atribut from table where id = :ID';
  Query.Execute;
  if not Query.Eof then
    ShowMessage(Query.Field('atribut'));  
end;


Цитата(Cerber24 @  7.4.2009,  19:02 Найти цитируемый пост)
нужно достать атрибут элемента из базы

Я плохо понял, что за атрибут smile 

Автор: Cerber24 7.4.2009, 21:41
Во большое спс, то что надо!!!! smile 

Автор: Cerber24 8.4.2009, 17:05
Еще такой вопрос, у меня есть SQL скрипт, со структурой базы FireBird с триггерами и ХП. Возможно ли создавать новую БД с помощью этого скрипта из приложения, написанного мной на Delphi? ну или как то им хоть воспользоваться, не охото всё это в приложении вбивать! =))

Автор: Akella 8.4.2009, 22:54
Cerber24, одна тема = один вопрос

Добавлено через 2 минуты и 38 секунд
Cerber24, какими компонентами ты пользуешься?

Автор: Cerber24 10.4.2009, 15:45
Среда разработки Delphi 7, база Fiebird 2.1, компоненты IBX.

Автор: Akella 10.4.2009, 22:31
Код

IBDatabase1.Connected=false;
IBDatabase1.DatabaseName=StrokaPodkluchenia;
IBDatabase1.Params.Clear();
IBDatabase1.Params.Add("user_name=I_AM_SUPER_PROGER");
IBDatabase1.Params.Add("password=SUPER_BUPER_PASSWORD");
IBDatabase1.Params.Add("page_size=4096");



//ВОТ ОНО
IBDatabase1.CreateDatabase();



IBDatabase1.Connected=true;

Автор: Cerber24 11.4.2009, 10:32
Вопрос был не в том, как создать базу, а как использовать скрипт, что бы загнать в неё всю структуру и тригерры из этого скрипта. И мне кажется ирония, на счет "I_AM_SUPER_PROGER", здесь неуместна...

Автор: Kbl4AH 11.4.2009, 11:04
Цитата(Cerber24 @  11.4.2009,  11:32 Найти цитируемый пост)
И мне кажется ирония, на счет "I_AM_SUPER_PROGER", здесь неуместна...

Не обнадеживайся, это не ирония, это у Akella реальный username smile 

Автор: Cerber24 11.4.2009, 14:11
Гы гы ну тогда сори! smile 

Автор: Kbl4AH 11.4.2009, 14:15
Цитата(Cerber24 @  11.4.2009,  15:11 Найти цитируемый пост)
Гы гы

стремится надо к такому юзернейму, а не гыкать smile 

Автор: Akella 11.4.2009, 15:28
Cerber24, выполняй скрипты в квере с отключённым свойство AutoDDL.


Цитата(Cerber24 @  8.4.2009,  17:05 Найти цитируемый пост)
Возможно ли создавать новую БД с помощью этого скрипта из приложения, написанного мной на Delphi? 

ОТВЕЧАЮ НА ВОПРОС КОНКРЕТНО - ВОЗМОЖНО! smile

Добавлено через 2 минуты
Cerber24, говорю по-русски второй раз:
Модератор: Один вопрос = одна тема

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)