⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.~pas

📁 Delphi_database例程,是一个实用的数据库浏览的例子.
💻 ~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);
   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 + -