📄 unitsform.~pas
字号:
unit Unitsform;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids, DB, ADODB,main, Mask,
ExtCtrls,CheckUser;
type
Tutilsform = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
GroupBox2: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
MaskEdit1: TMaskEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Image1: TImage;
Label6: TLabel;
RadioButton4: TRadioButton;
DBGrid1: TDBGrid;
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure ADOTable1AfterScroll(DataSet: TDataSet);
private
{ Private declarations }
procedure initform();
procedure savetotable();
procedure loadfromtable();
procedure genxin();
public
{ Public declarations }
end;
var
utilsform: Tutilsform;
new_record:boolean;
caozuo:integer;
implementation
{$R *.dfm}
procedure Tutilsform.genxin();
var adoquery1:tadoquery;str:string;
begin
str:='update 单位信息表 set '+
'负责人=:fzr,联系电话=:tel,操作员=:czy,最后修改时间=:day'+
',书费=:cur'+
' where 单位名=:utiname';
adoquery1:=tadoquery.Create(self);
adoquery1.Connection:=adoConnection1;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(str);
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='fzr';
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=edit2.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[1].Name:='tel';
adoquery1.Parameters[1].DataType:=ftstring;
adoquery1.Parameters[1].Direction:=pdinput;
adoquery1.Parameters[1].Value:=edit3.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[2].Name:='czy';
adoquery1.Parameters[2].DataType:=ftstring;
adoquery1.Parameters[2].Direction:=pdinput;
adoquery1.Parameters[2].Value:=username;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[3].Name:='day';
adoquery1.Parameters[3].DataType:=ftstring;
adoquery1.Parameters[3].Direction:=pdinput;
adoquery1.Parameters[3].Value:=date();
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[4].Name:='cur';
adoquery1.Parameters[4].DataType:=ftstring;
adoquery1.Parameters[4].Direction:=pdinput;
adoquery1.Parameters[4].Value:=strtocurr(edit4.Text);
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[5].Name:='utiname';
adoquery1.Parameters[5].DataType:=ftstring;
adoquery1.Parameters[5].Direction:=pdinput;
adoquery1.Parameters[5].Value:=edit1.Text;
adoquery1.ExecSQL;
adoquery1.Close;
adotable1.Requery();
end;
procedure Tutilsform.initform();
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit1.SetFocus;
radiobutton1.Checked:=false;
radiobutton2.Checked:=false;
radiobutton3.Checked:=false;
edit4.Enabled:=false;
edit4.ReadOnly:=true;
end;
procedure Tutilsform.savetotable();
begin
adotable1.Edit;
adotable1.fieldbyname('单位名').AsString:=edit1.Text;
adotable1.fieldbyname('负责人').Asstring:=edit2.Text;
adotable1.fieldbyname('联系电话').AsString:=edit3.Text;
adotable1.fieldbyname('操作员').AsString:=username;
adotable1.fieldbyname('最后修改时间').AsDateTime:=date();
adotable1.Post;
end;
procedure Tutilsform.loadfromtable();
begin
edit1.Text:=adotable1.fieldbyname('单位名').AsString;
edit2.Text:=adotable1.fieldbyname('负责人').AsString;
edit3.Text:=adotable1.fieldbyname('联系电话').AsString;
edit4.Text:=Currtostr(adotable1.fieldbyname('书费').AsCurrency);
maskedit1.Text:=datetostr(adotable1.fieldbyname('最后修改时间').AsDateTime);
end;
procedure Tutilsform.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tutilsform.FormActivate(Sender: TObject);
begin
initform();
maskedit1.ReadOnly:=true;
caozuo:=0;
ADOConnection1:=CheckUserForm.ADOConnection1;
dbgrid1.DataSource:=datasource1;
datasource1.DataSet:=adotable1;
adotable1.Connection:=ADOConnection1;
adotable1.TableName:='单位信息表';
adotable1.Active:=true;
new_record:=false;
dbgrid1.Columns[0].Width:=150;
dbgrid1.Columns[1].Width:=70;
dbgrid1.Columns[2].Width:=120;
dbgrid1.Columns[3].Width:=65;
dbgrid1.Columns[4].Width:=60;
dbgrid1.Columns[5].Width:=120;
radiobutton1.Enabled:=true;
maskedit1.Text:=datetostr(date());
if adotable1.Eof then
radiobutton3.Enabled:=false
else
loadfromtable;
end;
procedure Tutilsform.RadioButton1Click(Sender: TObject);
begin
if radiobutton1.Checked=true then
begin
edit1.Text:='';
edit1.SetFocus;
new_record:=true;
maskedit1.Text:=datetostr(date());
application.MessageBox('请输入信息并注意保存!','提示!',mb_ok);
caozuo:=1; //添加记录
edit1.ReadOnly:=false;
edit4.Enabled:=false;
edit4.ReadOnly:=true;
end;
end;
procedure Tutilsform.RadioButton2Click(Sender: TObject);
begin
if radiobutton2.Checked=true then
begin
//edit1.ReadOnly:=true;
new_record:=false;
caozuo:=2; //修改记录
edit4.Enabled:=false;
edit4.ReadOnly:=true;
end;
end;
procedure Tutilsform.RadioButton3Click(Sender: TObject);
begin
if radiobutton3.Checked=true then
begin
edit1.ReadOnly:=false;
new_record:=false;
caozuo:=3; //删除记录
edit4.Enabled:=false;
edit4.ReadOnly:=true;
end;
end;
procedure Tutilsform.Edit1Exit(Sender: TObject);
var adodateset1:tadodataset;
begin
if edit1.Text<>'' then
begin
adodateset1:=tadodataset.Create(self);
adodateset1.Connection:=adoConnection1;
adodateset1.Close;
adodateset1.CommandType:=cmdtext;
adodateset1.CommandText:='select * from 单位信息表 where 单位名=:classname order by 单位名 asc';
adodateset1.Parameters.Clear;
adodateset1.Parameters.AddParameter;
adodateset1.Parameters[0].Name:='classname';
adodateset1.Parameters[0].DataType:=ftstring;
adodateset1.Parameters[0].Direction:=pdinput;
adodateset1.Parameters[0].Value:=edit1.Text;
adodateset1.Active:=true;
if new_record then
begin
if adodateset1.Recordset.RecordCount>0 then
begin
application.MessageBox('您输入的单位名重复','提示',48);
// edit1.Text:='';
edit1.SetFocus;
end;
end
else
begin
if adodateset1.Recordset.RecordCount>0 then
begin
edit1.Text:=adodateset1.fieldbyname('单位名').AsString;
edit2.Text:=adodateset1.fieldbyname('负责人').AsString;
edit3.Text:=adodateset1.fieldbyname('联系电话').AsString;
edit4.Text:=Currtostr(adodateset1.fieldbyname('书费').AsCurrency);
maskedit1.Text:=datetostr(adodateset1.fieldbyname('最后修改时间').AsDateTime);
end
else
application.MessageBox('该单位不存在','提示',48);
end;
end;
end;
procedure Tutilsform.BitBtn1Click(Sender: TObject);
var adoquery1:tadoquery;
str1,str2,str3,str4,str5:string;
begin
str1:=edit1.Text;
str2:=edit2.Text;
str3:=edit3.Text;
str4:=edit4.Text;
str5:=maskedit1.Text;
case caozuo of
1 : // 添加记录
begin
if edit1.Text<> '' then
begin
if new_record then
begin
adotable1.Append;
adotable1.FieldByName('书费').AsCurrency:=0;
edit1.Text:=str1;
edit2.Text:=str2;
edit3.Text:=str3;
edit4.Text:=str4;
maskedit1.Text:=str5;
savetotable;
radiobutton3.Enabled:=true;
end;
end
else
application.MessageBox('您输入的信息有错或不完整!','提示',mb_ok);
end;
2 : // 修改记录
begin
genxin;
end;
3 : // 删除记录
begin
{adoquery1:=tadoquery.Create(self);
adoquery1.Connection:=adoConnection1;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('delete * from 单位信息表 where 单位名=:classname');
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='classname';
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=edit1.Text;
adoquery1.ExecSQL;
adoquery1.Close;
edit1.SetFocus;
adotable1.Requery();
}
if adotable1.Recordset.RecordCount>0 then
begin
adotable1.Delete;
application.MessageBox('记录已删除!','提示!',mb_ok);
loadfromtable();
end else
radiobutton3.Enabled:=false;
end; //结束case 3
else
application.MessageBox('空操作!难道您什么都不想干么?','提示!',48);
edit4.Enabled:=false;
edit4.ReadOnly:=true;
end;//结束case 语句
end;
procedure Tutilsform.RadioButton4Click(Sender: TObject);
begin
if RadioButton4.Checked then
begin
edit4.Enabled:=true;
edit4.ReadOnly:=false;
end;
end;
procedure Tutilsform.ADOTable1AfterScroll(DataSet: TDataSet);
begin
loadfromtable;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -