📄 teachfrm.pas
字号:
unit TeachFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, ImgList, ExtCtrls, StdCtrls, DB, ADODB;
type
TTeachForm = class(TForm)
ListView1: TListView;
ImageList1: TImageList;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton6: TToolButton;
ToolButton5: TToolButton;
Splitter1: TSplitter;
Panel1: TPanel;
StatusBar1: TStatusBar;
Edit1: TLabeledEdit;
ComboBox1: TComboBox;
Label1: TLabel;
Edit2: TLabeledEdit;
Edit3: TLabeledEdit;
Edit4: TLabeledEdit;
Edit5: TLabeledEdit;
Edit6: TLabeledEdit;
procedure ToolButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ListView1Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure ToolButton2Click(Sender: TObject);
private
{ Private declarations }
public
row: integer;
procedure ClearForm();
function InsertTeach(): boolean;
procedure updateTeach();
procedure loadTeach();
procedure delete();
end;
var
TeachForm: TTeachForm;
implementation
uses datamodule;
{$R *.dfm}
procedure TTeachForm.delete();
var
query: Tadoquery;
sql: string;
i: integer;
begin
query := Tadoquery.Create(self);
query.Connection := dmfm.ADOConnection;
sql := 'delete Tteach where fnum=' + listview1.Selected.Caption;
query.close;
query.sql.text := sql;
query.ExecSQL;
if listview1.Selected.Index = listview1.Items.Count - 1 then
row := listview1.Selected.Index - 1
else
row := listview1.Selected.Index;
query.Destroy;
end;
procedure TTeachForm.loadTeach();
var
query: Tadoquery;
sql: string;
i: integer;
begin
query := Tadoquery.Create(self);
query.Connection := dmfm.ADOConnection;
sql := 'select Fnum,fname,fsex,fbm,ftel1,ftel2,ftel3,faddr from Tteach order by Fnum';
query.close;
query.sql.text := sql;
query.open;
i := 0;
listview1.Items.Clear;
while not query.Eof do
begin
listview1.Items.Add();
listview1.Items[i].Caption := trim(query.Fields[0].AsString);
listview1.Items[i].SubItems.Add(trim(query.Fields[1].asstring));
listview1.Items[i].SubItems.Add(trim(query.Fields[2].asstring));
listview1.Items[i].SubItems.Add(trim(query.Fields[3].asstring));
listview1.Items[i].SubItems.Add(trim(query.Fields[4].asstring));
listview1.Items[i].SubItems.Add(trim(query.Fields[5].asstring));
listview1.Items[i].SubItems.Add(trim(query.Fields[6].asstring));
listview1.Items[i].SubItems.Add(trim(query.Fields[7].asstring));
query.next;
i := i + 1;
end;
//listview1.Items[row].Selected:=true;
query.Destroy;
end;
procedure TTeachForm.updateTeach();
var
query: Tadoquery;
sql: string;
begin
if listview1.Selected = nil then exit;
if edit1.text = '' then
begin
messagebox(handle, '姓名不能为空', '提示', mb_iconwarning);
exit;
end;
query := Tadoquery.Create(self);
query.Connection := dmfm.ADOConnection;
sql := format('update Tteach set Fname=''%s'',Fsex=''%s'',Fbm=''%s'',Ftel1=''%s'',Ftel2=''%s'',Ftel3=''%s'',Faddr=''%s''' +
' where Fnum=%s ',
[edit1.text, combobox1.text, edit2.text, edit3.text, edit4.text, edit5.text, edit6.text, listview1.Selected.Caption]);
query.close;
query.sql.text := sql;
query.ExecSQL;
row := listview1.Selected.Index;
query.Destroy;
end;
function TTeachForm.InsertTeach(): boolean;
var
query: Tadoquery;
sql: string;
begin
if edit1.text = '' then
begin
messagebox(handle, '姓名不能为空', '提示', mb_iconwarning);
result := false;
exit;
end;
query := Tadoquery.Create(self);
query.Connection := dmfm.ADOConnection;
sql := format('insert Tteach(Fname,Fsex,Fbm,Ftel1,Ftel2,Ftel3,Faddr) values(''%s'',''%s'',''%s'',''%s'',''%s'' ' +
' ,''%s'',''%s'' ) ',
[edit1.text, combobox1.text, edit2.text, edit3.text, edit4.text, edit5.text, edit6.text]);
query.close;
query.sql.text := sql;
query.ExecSQL;
row := listview1.Items.Count;
query.Destroy;
result := true;
end;
procedure TTeachForm.ClearForm();
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
combobox1.ItemIndex := 0;
end;
procedure TTeachForm.ToolButton1Click(Sender: TObject);
begin
ClearForm;
edit1.SetFocus;
toolbutton2.Enabled := false;
toolbutton3.Enabled := true;
end;
procedure TTeachForm.FormShow(Sender: TObject);
begin
toolbutton1.Enabled := true;
toolbutton2.Enabled := false;
toolbutton3.Enabled := false;
loadTeach();
row := 0;
end;
procedure TTeachForm.ToolButton3Click(Sender: TObject);
begin
if not toolbutton2.Enabled then
begin
if not InsertTeach() then exit;
clearform;
edit1.SetFocus;
end
else
updateTeach();
loadTeach;
end;
procedure TTeachForm.ToolButton5Click(Sender: TObject);
begin
close;
end;
procedure TTeachForm.ListView1Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
begin
if listview1.Selected = nil then exit;
toolbutton2.Enabled := true;
toolbutton3.Enabled := true;
edit1.text := listview1.Selected.SubItems[0];
combobox1.text := listview1.Selected.SubItems[1];
edit2.text := listview1.Selected.SubItems[2];
edit3.text := listview1.Selected.SubItems[3];
edit4.text := listview1.Selected.SubItems[4];
edit5.text := listview1.Selected.SubItems[5];
edit6.text := listview1.Selected.SubItems[6];
end;
procedure TTeachForm.ToolButton2Click(Sender: TObject);
begin
if listview1.Selected = nil then exit;
if messagebox(handle, '是否删除教师?', '警告', mb_iconwarning + mb_yesno) = idno then exit;
delete();
loadTeach();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -