📄 umanager.pas
字号:
unit Umanager;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids, ComCtrls, ExtCtrls, ADODB, DB;
type
Tfrmmanager = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
ListView1: TListView;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Panel2: TPanel;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
GroupBox4: TGroupBox;
ComboBox1: TComboBox;
StaticText1: TStaticText;
Edit1: TEdit;
Edit2: TEdit;
StaticText2: TStaticText;
StaticText3: TStaticText;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure ListView1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmmanager: Tfrmmanager;
implementation
uses DataModule;
{$R *.dfm}
procedure Tfrmmanager.BitBtn4Click(Sender: TObject);
begin
close;
end;
procedure Tfrmmanager.BitBtn2Click(Sender: TObject);
begin
try
with DataModuleADO.ADOQuery1 do
//以下代码将读者数据表Manager中所有记录加入到ListView中
begin
SQL.Clear;
SQL.Add('select * from Manager order by manager_no');
Open;
ListView1.Items.Clear;
while not Eof do
begin
with ListView1.Items.Add do
begin
Caption:=FieldByName('manager_no').AsString;//管理员号
SubItems.Add(FieldByName('Name').AsString);//管理员姓名
if FieldByName('Sex').AsString = '1' then //管理员性别
SubItems.Add('女')
else SubItems.Add('男');
end;
Next;
end; Close;
end;
except
ListView1.Items.Clear;
MessageDlg('刷新出错',mtError,[mbok],0);
end;
end;
procedure Tfrmmanager.BitBtn1Click(Sender: TObject);
var
i : integer; //表示ListView1中的列
begin
for i := ListView1.Items.Count -1 downto 0 do
if ListView1.Items[i].Selected then //当前行是否被选中
try
with DataModuleADO.ADOQuery1 do
begin
SQL.Clear;
// 从读者数据表中删除读者数据
SQl.Add('delete from manager where manager_no=:manager_no');
Parameters.ParamByName('manager_no').Value :=ListView1.Items[i].Caption;
ExecSQL;
ListView1.Items.Delete(i); //逐列删除listView1中的数据
End ;
except
MessageDlg('删除<'+ListView1.Items[i].Caption+'>出错',mtError,[mbok],0);
end;
end;
procedure Tfrmmanager.RadioButton1Click(Sender: TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
ComboBox1.ItemIndex := 0;
end;
procedure Tfrmmanager.BitBtn3Click(Sender: TObject);
begin
if RadioButton1.Checked then
begin
if Length(Edit1.Text)<> 3 then
begin
MessageDlg('管理员号输入应该为3位',mtError,[mbok],0);
Exit;
end;
with DataModuleADO.ADOQuery1 do
begin
SQL.Clear;
SQl.Add('select manager_no from manager where manager_no=:manager_no');
Parameters.ParamByName('manager_no').value := Edit1.Text;
Open;
if RecordCount<>0 then
begin
MessageDlg('管理员号<'+Edit1.Text+'>已经存在',mtError,[mbok],0);
Exit;
end;
Close;
end;
try
with DataModuleADO.ADOQuery1 do
begin
SQL.Clear;
SQl.Add('insert into manager(manager_no,Name,Sex)'+'values(:manager_no,:Name,:Sex)');
Parameters.ParamByName('manager_no').Value := Edit1.Text;
Parameters.ParamByName('Name').Value := Edit2.Text;
Parameters.ParamByName('Sex').Value := IntToStr(ComboBox1.ItemIndex);
ExecSQL;
end;
except
MessageDlg('添加<'+Edit1.Text+'>失败',mtError,[mbok],0);
Exit;
end;
end;
if RadioButton2.Checked then
begin
if Length(Edit1.Text)<> 3 then
begin
MessageDlg('管理员号不正确',mtError,[mbok],0);
Exit;
end;
try
with DataModuleADO.ADOQuery1 do
begin
SQL.Clear;
SQl.Add('update manager set Name=:Name,Sex=:Sex '+' where manager_no= :manager_no');
Parameters.ParamByName('manager_no').Value := Edit1.Text;
Parameters.ParamByName('Name').Value := Edit2.Text;
Parameters.ParamByName('Sex').Value := IntToStr(ComboBox1.ItemIndex);
ExecSQL;
end;
except
MessageDlg('修改<'+Edit1.Text+'>失败',mtError,[mbok],0);
Exit;
end;
end;
Edit1.Text := '';
Edit2.Text := '';
ComboBox1.ItemIndex := 0;
end;
procedure Tfrmmanager.ListView1Click(Sender: TObject);
var
i : integer;
begin
for i :=0 to ListView1.Items.Count-1 do
if ListView1.Items[ i ].Selected then
begin
RadioButton2.Checked:=True;
Edit1.Text:=ListView1.Items[i].Caption; Edit2.Text:=ListView1.Items[i].SubItems.Strings[0];
if ListView1.Items[i].SubItems.Strings[1]='男' then
ComboBox1.ItemIndex:=0
else ComboBox1.ItemIndex:=1;
end;
end;
procedure Tfrmmanager.FormActivate(Sender: TObject);
begin
self.Edit1.Text:='';
self.Edit2.Text:='';
self.ComboBox1.Text:='';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -