📄 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]; //指定数据源
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);
//将指定的数据源的数据表加载到下拉列表中
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]; //指定数据源
Table1.TableName:=C_table.Items[C_table.itemindex]; //指定数据表
Table1.Open; //打开数据表
for field:=0 to Table1.FieldCount-1 do
L_field.Items.Add(Table1.Fields[field].DisplayName); //加载数据表中的字段
end;
procedure TForm1.FormShow(Sender: TObject);
begin
B_close.SetFocus; //退出按钮获得焦点
Session.GetAliasNames(C_data.Items); //将系统中全部的数据源加载到下拉列表中
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -