Конференция "Базы" » Как добавить Таблицы Access в дерево TreeView [D7, Access]
 
  • daniyar (09.11.10 13:16) [0]
    Здравствуйте! Помогите пожалуйста, как мне добавить таблицы из базы данных Access в TreeView. Чтобы эти таблицы отображались на дереве
  • stas © (09.11.10 13:33) [1]
    в обычном treeview есть addNode вроде.
    бывают dbTreeView еще.
  • И. Павел © (09.11.10 13:41) [2]
    Если требуется получить список таблиц базы, то можно использовать ADOConnection1.GetTableNames.
  • sniknik © (09.11.10 17:45) [3]
    это что будет, свой построитель/менеджер базы? тогда не обойтись без OpenSchema (даже список таблиц лучше получать с "оригинала", т.к. там еще доп параметры есть... могут понадобится)
  • Кайрат (30.11.10 09:13) [4]
    unit UDBTree;

    interface

    uses
     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, DB, ADODB, StdCtrls, ComCtrls, ImgList, Grids, DBGrids;

    type
     TForm1 = class(TForm)
       TreeView1: TTreeView;
       btTreeRefresh: TButton;
       ADOConnection1: TADOConnection;
       ImageList1: TImageList;
       ADOQuery1: TADOQuery;
       DataSource1: TDataSource;
       DBGrid1: TDBGrid;
       procedure btTreeRefreshClick(Sender: TObject);
       procedure TreeView1Changing(Sender: TObject; Node: TTreeNode;
         var AllowChange: Boolean);
     private
       { Private declarations }
       tnParent : TTreeNode;    // Корневой узел
       tnChilde : TTreeNode;     // Узлы таблиц
       FTableName : string[30]; // Хранит уже выбранную таблицуу
     public
       { Public declarations }
     end;

    var
     Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.btTreeRefreshClick(Sender: TObject);
    var
     st : TStringList;
     i : Integer;
    begin
     Screen.Cursor := crHourGlass;
     TreeView1.Items.BeginUpdate;
     TreeView1.Items.Clear;
     tnParent := TreeView1.Items.Add(nil, 'Корневой элемент');
     tnParent.SelectedIndex := 0;
     tnParent.ImageIndex := 0;
     st := TStringList.Create;
     ADOConnection1.GetTableNames(st, false);
     try
       for i := 0 to st.Count - 1 do
       begin
         tnChilde := TreeView1.Items.AddChild(tnParent, st.Strings[i]);
         tnChilde.SelectedIndex := 1;
         tnChilde.ImageIndex := 1;
       end;
     finally
       st.Free;
       TreeView1.Items.EndUpdate;
       Screen.Cursor := crDefault;
     end;
    end;

    procedure TForm1.TreeView1Changing(Sender: TObject; Node: TTreeNode;
     var AllowChange: Boolean);
    begin
     case Node.Level of
       0 : Abort;
       1 :
       begin
         if FTableName = Node.Text then
           Exit;
         FTableName := Node.Text;
         ADOQuery1.Close;
         ADOQuery1.SQL.Text := 'Select * ' +
                               'From ' + Node.Text;
         ADOQuery1.Open;
       end;
     end;
    end;

    end.
 
Конференция "Базы" » Как добавить Таблицы Access в дерево TreeView [D7, Access]
Есть новые Нет новых   [134431   +15][b:0][p:0]