?? unitarrange.pas
字號:
unit UnitArrange;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActnMan, ActnColorMaps, StdCtrls, DBCtrls, DB, ADODB, Grids,
DBGrids, ComCtrls;
type
TfrmArrange = class(TForm)
GroupBox1: TGroupBox;
btnDel: TButton;
btnClose: TButton;
qryLV: TADOQuery;
lv: TListView;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
btnAdd: TButton;
qry: TADOQuery;
cmbT: TComboBox;
cmbR: TComboBox;
cmbC: TComboBox;
procedure btnCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cmbTChange(Sender: TObject);
procedure cmbRChange(Sender: TObject);
procedure cmbCChange(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure btnDelClick(Sender: TObject);
private
{ Private declarations }
procedure FreshList;
procedure FreshCombo;
public
{ Public declarations }
end;
var
frmArrange: TfrmArrange;
implementation
uses UnitData;
{$R *.dfm}
procedure TfrmArrange.FreshList;
var
item: TListItem;
qry: TADOQuery;
begin
lv.Clear;
qryLV.Close;
qryLV.SQL.Clear;
qryLV.SQL.Add('select * from ARRANGE');
qryLV.Open;
if not qryLV.Eof then begin
qry := TADOQuery.Create(self);
qry.Connection := data.adoc;
qryLV.First;
while not qryLV.Eof do begin
item := lv.Items.Add;
qry.Close;
qry.SQL.Clear;
qry.SQL.Add('select name from TEACHER where id=' + qryLV.FieldByName('teacher').AsString);
qry.Open;
item.Caption := qry.FieldByName('name').AsString;
item.Data := Pointer(qryLV.FieldByName('id').AsInteger);
qry.Close;
qry.SQL.Clear;
qry.SQL.Add('select name from ROOM where id=' + qryLV.FieldByName('room').AsString);
qry.Open;
item.SubItems.Add(qry.FieldByName('name').AsString);
qry.Close;
qry.SQL.Clear;
qry.SQL.Add('select name from COURSE where id=' + qryLV.FieldByName('course').AsString);
qry.Open;
item.SubItems.Add(qry.FieldByName('name').AsString);
qryLV.Next;
end;
end;
btnDel.Enabled := lv.Items.Count <> 0;
end;
procedure TfrmArrange.FreshCombo;
begin
// 刷新教師
cmbT.Clear;
qry.Close;
qry.SQL.Clear;
qry.SQL.Add('select id,name from TEACHER');
qry.Open;
while not qry.Eof do begin
cmbT.AddItem(qry.FieldByName('name').AsString, TObject(qry.FieldByName('id').AsInteger));
qry.Next;
end;
// 刷新教室
cmbR.Clear;
qry.Close;
qry.SQL.Clear;
qry.SQL.Add('select id,name from ROOM');
qry.Open;
while not qry.Eof do begin
cmbR.AddItem(qry.FieldByName('name').AsString, TObject(qry.FieldByName('id').AsInteger));
qry.Next;
end;
// 刷新課程
cmbC.Clear;
qry.Close;
qry.SQL.Clear;
qry.SQL.Add('select id,name from COURSE');
qry.Open;
while not qry.Eof do begin
cmbC.AddItem(qry.FieldByName('name').AsString, TObject(qry.FieldByName('id').AsInteger));
qry.Next;
end;
end;
procedure TfrmArrange.btnCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmArrange.FormShow(Sender: TObject);
begin
FreshList;
FreshCombo;
end;
procedure TfrmArrange.cmbTChange(Sender: TObject);
begin
btnAdd.Enabled := (cmbT.ItemIndex <> -1) and (cmbR.ItemIndex <> -1) and (cmbC.ItemIndex <> -1);
end;
procedure TfrmArrange.cmbRChange(Sender: TObject);
begin
btnAdd.Enabled := (cmbT.ItemIndex <> -1) and (cmbR.ItemIndex <> -1) and (cmbC.ItemIndex <> -1);
end;
procedure TfrmArrange.cmbCChange(Sender: TObject);
begin
btnAdd.Enabled := (cmbT.ItemIndex <> -1) and (cmbR.ItemIndex <> -1) and (cmbC.ItemIndex <> -1);
end;
procedure TfrmArrange.btnAddClick(Sender: TObject);
begin
qry.Close;
qry.SQL.Clear;
qry.SQL.Add('insert into ARRANGE(teacher,room,course) values(' + inttostr(integer(cmbT.Items.Objects[cmbT.ItemIndex])) + ',' + inttostr(integer(cmbR.Items.Objects[cmbR.ItemIndex])) + ',' + inttostr(integer(cmbC.Items.Objects[cmbC.ItemIndex])) + ')');
qry.ExecSQL;
cmbT.ItemIndex := -1;
cmbR.ItemIndex := -1;
cmbC.ItemIndex := -1;
btnAdd.Enabled := FALSE;
FreshList;
end;
procedure TfrmArrange.btnDelClick(Sender: TObject);
begin
qry.Close;
qry.SQL.Clear;
qry.SQL.Add('delete from ARRANGE where id=' + inttostr(integer(lv.Selected.Data)));
qry.ExecSQL;
FreshList;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -