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

📄 umanager.pas

📁 DELPHI开发的寝室管理系统
💻 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 + -