dbxreadform.pas

来自「source code for Marco Cantu s book Delph」· PAS 代码 · 共 71 行

PAS
71
字号
unit DbxReadForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, WideStrings, FMTBcd, StdCtrls, ComCtrls, DB, SqlExpr;

type
  TForm18 = class(TForm)
    SQLConnection1: TSQLConnection;
    SQLDataSet1: TSQLDataSet;
    ListView1: TListView;
    btnOpen: TButton;
    SQLDataSet2: TSQLDataSet;
    procedure btnOpenClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    slistDepartments: TStringList;
  public
    procedure InitDepartmentsLookup;
  end;

var
  Form18: TForm18;

implementation

{$R *.dfm}

procedure TForm18.btnOpenClick(Sender: TObject);
var
  anItem: TListItem;
begin
  InitDepartmentsLookup;

  SQLConnection1.Connected := True;
  SQLDataSet1.Open;
  while not SQLDataSet1.EOF do
  begin
    anItem := ListView1.Items.Add;
    anItem.Caption := SQLDataSet1 ['LAST_NAME'] + ' ' +
      SQLDataSet1 ['FIRST_NAME'];
    // lookup
    anItem.SubItems.Append(
      slistDepartments.Values [SQLDataSet1 ['DEPT_NO']]);
    // plain
    anItem.SubItems.Append(SQLDataSet1 ['JOB_CODE']);
    SQLDataSet1.Next;
  end;
end;

procedure TForm18.FormCreate(Sender: TObject);
begin
  slistDepartments := TStringList.Create;
end;

procedure TForm18.InitDepartmentsLookup;
begin
  SQLConnection1.Connected := True;
  SQLDataSet2.Open;
  while not SQLDataSet2.EOF do
  begin
    slistDepartments.Values [SQLDataSet2 ['DEPT_NO']] :=
      SQLDataSet2 ['DEPARTMENT'];
    SQLDataSet2.Next;
  end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?