Текущий архив: 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