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

Вниз

Как вывести в TreeView базу данных SQL Server с таблицами   Найти похожие ветки 

 
daniyar   (2010-11-11 09:04) [0]

Здравствуйте! Я создал базу данных. Теперь мне необходимо вывести в TreeView базу данных SQl Server  с которым я работаю вместе с таблицами. Чтобы при нажатии на базу в дереве раскрывались его таблицами. Пожалуйста помогите. Если можно с исходником


 
Jeer ©   (2010-11-11 09:38) [1]

Не парься, а бери, к примеру:
- Enterprise Manager для MSSQL;
- IBExpert для Firebird;
- Enterprise Manager Console для Oracle
и т.д.


 
clickmaker ©   (2010-11-11 11:17) [2]

н-р, TADOConnection GetTableNames


 
sniknik ©   (2010-11-11 13:17) [3]

> н-р, TADOConnection GetTableNames
http://delphimaster.net/view/3-1289297780/


 
Кайрат   (2010-11-30 09:04) [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.


 
Ega23 ©   (2010-11-30 10:23) [5]


> Кайрат   (30.11.10 09:04) [4]


Ну да, как-то так. Только я бы ещё  ADOConnection1.GetTableNames(st, false) и ADOQuery1.Open  в try..except обернул бы.
И TADOQuery на TADODataSet заменил бы. И всё вот это
Screen.Cursor := crHourGlass;
TreeView1.Items.BeginUpdate;
TreeView1.Items.Clear;
tnParent := TreeView1.Items.Add(nil, "Корневой элемент");
tnParent.SelectedIndex := 0;
tnParent.ImageIndex := 0;
st := TStringList.Create;

в разные try..finally обернул бы.



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

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

Наверх




Память: 0.48 MB
Время: 0.006 c
15-1360858297
alexdn
2013-02-14 20:11
2013.07.14
Мозг как процессор


1-1310467860
lesstab
2011-07-12 14:51
2013.07.14
Фрейм: как обрабатывать его закрытие и открытие


3-1289455456
daniyar
2010-11-11 09:04
2013.07.14
Как вывести в TreeView базу данных SQL Server с таблицами


4-1265267672
keymaster
2010-02-04 10:14
2013.07.14
Delphi + PGP


2-1353479598
ford
2012-11-21 10:33
2013.07.14
WaitForSingleObject