?? unit1.pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, DB, DBTables;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
B_view: TButton;
B_close: TButton;
Table1: TTable;
DataSource1: TDataSource;
Query1: TQuery;
C_table: TComboBox;
Label2: TLabel;
L_field: TListBox;
DBGrid1: TDBGrid;
Label1: TLabel;
C_data: TComboBox;
procedure B_closeClick(Sender: TObject);
procedure B_viewClick(Sender: TObject);
procedure L_fieldClick(Sender: TObject);
procedure C_dataChange(Sender: TObject);
procedure C_tableChange(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.B_closeClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.B_viewClick(Sender: TObject);
var
str: String;
i: integer;
begin
if B_view.Enabled then
begin
str:='Select ';
for i:=0 to L_field.Items.Count-1 do
if L_field.Selected[i] then
str:=str+L_field.Items[i]+',';
System.Delete(str,Length(str),2); //去掉末尾的逗號
str:=str+' From '+C_table.Items[C_table.itemindex];
Query1.Close;
Query1.DatabaseName:=C_data.Items[C_data.itemindex]; //指定數(shù)據(jù)源
Query1.SQL.Clear;
Query1.SQL.Add(str); //加載SQL語句
Try
Query1.Prepare;
Query1.Open;
Except
On E: EDatabaseError do
MessageDlg(E.Message,Mtinformation,[mbok],0);
end;
end;
end;
procedure TForm1.L_fieldClick(Sender: TObject);
begin
B_view.Enabled:=(L_field.SelCount>0);
end;
procedure TForm1.C_dataChange(Sender: TObject);
begin
C_table.Clear; //清空下拉列表框
Try
Session.GetTableNames(C_data.Items[C_data.itemindex],'',True,False,
C_table.Items);
//將指定的數(shù)據(jù)源的數(shù)據(jù)表加載到下拉列表中
Except
raise;
exit;
end;
end;
procedure TForm1.C_tableChange(Sender: TObject);
var
field: integer;
begin
Table1.Close;
L_field.Clear; //清空列表框
Table1.DatabaseName:=C_data.Items[C_data.itemindex]; //指定數(shù)據(jù)源
Table1.TableName:=C_table.Items[C_table.itemindex]; //指定數(shù)據(jù)表
Table1.Open; //打開數(shù)據(jù)表
for field:=0 to Table1.FieldCount-1 do
L_field.Items.Add(Table1.Fields[field].DisplayName); //加載數(shù)據(jù)表中的字段
end;
procedure TForm1.FormShow(Sender: TObject);
begin
B_close.SetFocus; //退出按鈕獲得焦點(diǎn)
Session.GetAliasNames(C_data.Items); //將系統(tǒng)中全部的數(shù)據(jù)源加載到下拉列表中
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -