📄 unit19.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 + -