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

📄 unit19.pas

📁 学生宿舍管理系统,用于宿舍的信息管理,简单容易用.
💻 PAS
字号:
unit Unit19;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,Unit2, DB, ADODB, StdCtrls, ExtCtrls, Buttons, ComCtrls,
  ImgList, Grids, DBGrids;

type
  TForm19 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    GroupBox2: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label5: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit5: TEdit;
    Memo1: TMemo;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Label13: TLabel;
    GroupBox4: TGroupBox;
    TreeView1: TTreeView;
    ImageList1: TImageList;
    GroupBox3: TGroupBox;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    DBGrid1: TDBGrid;
    DateTimePicker3: TDateTimePicker;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    ADOQuery1DSDesigner: TWideStringField;
    ADOQuery1DSDesigner2: TWideStringField;
    ADOQuery1DSDesigner3: TWideStringField;
    ADOQuery1DSDesigner4: TWideStringField;
    ADOQuery1DSDesigner5: TWideStringField;
    ADOQuery1DSDesigner6: TWideStringField;
    ADOQuery1DSDesigner7: TDateTimeField;
    ADOQuery1DSDesigner8: TDateTimeField;
    ADOQuery1DSDesigner9: TWideStringField;
    ADOQuery1DSDesigner10: TDateTimeField;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  Form19: TForm19;

implementation

{$R *.dfm}

procedure TForm19.BitBtn1Click(Sender: TObject);
begin

if Edit2.Text='' then
  begin
    MessageBox(handle,'来访人姓名不能为空!','警告',MB_OK+MB_ICONINFORMATION);
    Edit2.SetFocus ;
    exit;
  end;

if ComboBox2.Text  ='' then
  begin
     MessageBox(handle,'证件名称不能为空!','警告',MB_OK+MB_ICONINFORMATION);
     Edit2.SetFocus ;
     exit;
  end;
//ADOQuery1.Connection :=DataModule2.ADOConnection1 ;
//form20.ADOQuery1.Close ;
//form20.ADOQuery1.SQL.Clear ;
//form20.ADOQuery1.SQL.Text :='update 来访表 set 结束时间=:A,备注=:B where 来访日期=:C and 来访时间=:D';
//ADOQuery1.Parameters.ParamByName('A').value:=DateToStr(DateTimePicker2.Time );
//ADOQuery1.Parameters.ParamByName('B').Value :=Memo1.Text ;
//ADOQuery1.Parameters.ParamByName('C').Value :=DateToStr(DateTimePicker3.Date);
//ADOQuery1.Parameters.ParamByName('D').Value :=DateToStr(DateTimePicker1.Time );
//ADOQuery1.Parameters.ParamValues['A'] :=DateToStr(DateTimePicker2.Time) ;
//ADOQuery1.Parameters.ParamValues['C'] :=DateToStr(DateTimePicker3.Date);
//ADOQuery1.Parameters.ParamValues['D'] :=DateToStr(DateTimePicker1.Time) ;
 ADOQuery1.Edit ;
 ADOQuery1.FieldByName('结束时间').AsDateTime :=DateTimePicker2.Time ;
 ADOQuery1.FieldByName('备注').AsString :=Memo1.Text ;

try
  DataModule2.ADOConnection1.BeginTrans;      //提交事务
  ADOQuery1 .Post ; ;
  DataModule2.ADOConnection1.CommitTrans ;
  MessageBox(handle,'''结束''登记成功!','提示',MB_OK+MB_ICONINFORMATION);
except
  DataModule2.ADOConnection1.RollbackTrans ;      //提交失败,回滚事务
  MessageBox(handle,'''结束''登记失败!','提示',MB_OK+MB_ICONWARNING);
 end;
end;


procedure TForm19.BitBtn2Click(Sender: TObject);
begin
Close;
end;

procedure TForm19.FormCreate(Sender: TObject);
var
node1,node2:TTreeNode;
Query :TADOQuery;
begin

DateTimePicker1.Time:=now;
DateTimePicker2.Time:=now;
DateTimePicker3.Date:=date;
ADOQuery1.Connection :=DataModule2.ADOConnection1;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text :='select  * from 来访表 where 来访日期=:A and 来访时间=结束时间';
ADOQuery1.Parameters.ParamByName('A').Value :=DateToStr(date);
ADOQuery1.Prepared;
ADOQuery1.Open ;

Query :=TADOQuery.Create(self);
Query.Connection := DataModule2.ADOConnection1;
Query.SQL.Clear ;
Query.SQL.Text :='select  来访人姓名 from 来访表 where 来访日期=:A and 来访时间=结束时间';
Query.Parameters.ParamByName('A').Value :=DateToStr(date);
Query.Prepared;
Query.Open ;

if Query.IsEmpty  then
  begin
  TreeView1.Items.Clear ;
  node1 :=TreeView1.Items.Add(nil ,'当日还没有来访未结束者');
  node1.ImageIndex :=0;
  node1.SelectedIndex:=1;
  Exit;
  end
else
  begin
  TreeView1.Items.Clear ;
  node1 :=TreeView1.Items.Add(nil ,'当日来访');        //建根节点"村庄"
  node1.ImageIndex :=0;
  node1.SelectedIndex:=1;
  end;

  Query.First ;
  while not Query.Eof do                        //添加所有的村庄为第二层子节点
  begin
    node2 :=TreeView1.Items.AddChild(node1,Query.fieldByName('来访人姓名').AsString );
    node2.ImageIndex :=0;
    node2.StateIndex :=-1;
    node2.SelectedIndex:=1;

    Query.Next ;
  end;
  Query.Close;
  Query.Free;
end;

procedure TForm19.TreeView1Click(Sender: TObject);
begin

if TreeView1.Selected.Level=0 then
  begin
    Edit1.Text :='';
    Edit2.Text :='';
    Edit3.Text :='';
    Edit5.Text :='';
    ComboBox1.Text :='请选择';
    ComboBox2.Text :='请选择';
    DateTimePicker1.Time:=now;
    DateTimePicker2.Time:=now;
    DateTimePicker3.Date:=date;
    Memo1.Text :='';

    ADOQuery1.SQL.Clear ;
    ADOQuery1.SQL.Text :='select  * from 来访表 where 来访日期=:A and 来访时间=结束时间';
    ADOQuery1.Parameters.ParamByName('A').Value :=DateToStr(date);
    ADOQuery1.Prepared ;
    ADOQuery1.Open ;
    exit;
  end;

if TreeView1.Selected.Level=1 then
  begin
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear ;
    ADOQuery1.SQL.Text :='select  * from 来访表 where 来访日期=:A and 来访人姓名=:B and 来访时间=结束时间';
    ADOQuery1.Parameters.ParamByName('A').Value :=DateToStr(date);
    ADOQuery1.Parameters.ParamByName('B').Value :=TreeView1.Selected.Text ;
    ADOQuery1.Prepared ;
    ADOQuery1.Open ;                           //单击第三层(客户名)时,显示该客户的客户编号
    if ADOQuery1.RecordCount=1 then
      begin
      Edit2.Text :=ADOQuery1.fieldByName('来访人姓名').AsString ;
      Edit1.Text :=ADOQuery1.fieldByName('被访人姓名').AsString ;
      Edit3.Text :=ADOQuery1.fieldByName('被访人寝室号').AsString ;
      Edit5.Text :=ADOQuery1.fieldByName('所属关系').AsString ;
      Combobox1.Text:=ADOQuery1.fieldByName('值班人').AsString ;
      Combobox2.Text:=ADOQuery1.fieldByName('证件名称').AsString ;
      DateTimePicker1.Time :=ADOQuery1.fieldByName('来访时间').AsDateTime ;
      DateTimePicker2.Time :=ADOQuery1.fieldByName('结束时间').AsDateTime ;
      DateTimePicker3.Time :=ADOQuery1.fieldByName('来访日期').AsDateTime ;
      Memo1.text :=ADOQuery1.fieldByName('备注').AsString ;
      end;
  end;
end;
end.

⌨️ 快捷键说明

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