📄 classoperator.~pas
字号:
unit classoperator;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, Mask, Buttons, ExtCtrls;
type
Tclassform = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOTable1: TADOTable;
MaskEdit1: TMaskEdit;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Edit4: TEdit;
Image1: TImage;
Label10: TLabel;
BitBtn1: TBitBtn;
ADOConnection1: TADOConnection;
Label11: TLabel;
Edit9: TEdit;
procedure FormActivate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ADOTable1AfterScroll(DataSet: TDataSet);
private
{ Private declarations }
procedure initform();
procedure savetotable();
procedure loadfromtable();
procedure update();
public
{ Public declarations }
end;
var
classform: Tclassform;
new_record:boolean;
implementation
uses main, CheckUser;
{$R *.dfm}
procedure tclassform.initform();
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='0';
edit9.ReadOnly:=true;
edit9.Enabled:=false;
maskedit1.Text:=datetostr(date());
//edit1.SetFocus;
end;
procedure tclassform.savetotable();
begin
adotable1.Edit;
adotable1.fieldbyname('班级名').AsString:=edit1.Text;
adotable1.fieldbyname('入学时间').AsDateTime:=strtodate(maskedit1.Text);
adotable1.fieldbyname('所在院系').AsString:=edit6.Text;
adotable1.fieldbyname('班长').AsString:=edit2.Text;
adotable1.fieldbyname('班长联系电话').AsString:=edit7.Text;
adotable1.fieldbyname('班主任').AsString:=edit3.Text;
adotable1.fieldbyname('班主任联系电话').AsString:=edit8.Text;
adotable1.fieldbyname('操作员').AsString:=username;
adotable1.fieldbyname('最后修改时间').AsDateTime:=date();
adotable1.fieldbyname('所学专业').AsString:=edit5.Text;
adotable1.fieldbyname('班级人数').AsString:=edit4.Text;
adotable1.Post;
end;
procedure tclassform.loadfromtable();
begin
edit1.Text:=adotable1.fieldbyname('班级名').AsString;
maskedit1.Text:=datetostr(adotable1.fieldbyname('入学时间').AsDateTime);
edit6.Text:=adotable1.fieldbyname('所在院系').AsString;
edit2.Text:=adotable1.fieldbyname('班长').AsString;
edit7.Text:=adotable1.fieldbyname('班长联系电话').AsString;
edit3.Text:=adotable1.fieldbyname('班主任').AsString;
edit8.Text:=adotable1.fieldbyname('班主任联系电话').AsString;
edit5.Text:=adotable1.fieldbyname('所学专业').AsString;
edit4.Text:=adotable1.fieldbyname('班级人数').AsString;
edit9.Text:=floattostr(adotable1.fieldbyname('书费').AsCurrency);
end;
procedure Tclassform.update();
var adoquery1:tadoquery;str:string;
begin
str:='update 班级表 set '+
'入学时间=:rxdate,班长=:banzhang,班主任=:bzr,班级人数=:rs,'+
'所在院系=:szyx,所学专业=:sxzy,班长联系电话=:bztel,班主任联系电话=:bzrtel,'+
'操作员=:czy,最后修改时间=:day'+
' where 班级名=:classname';
adoquery1:=tadoquery.Create(self);
adoquery1.Connection:=adoConnection1;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(str);
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='rxdate';
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=strtodate(maskedit1.Text);
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[1].Name:='banzhang';
adoquery1.Parameters[1].DataType:=ftstring;
adoquery1.Parameters[1].Direction:=pdinput;
adoquery1.Parameters[1].Value:=edit2.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[2].Name:='bzr';
adoquery1.Parameters[2].DataType:=ftstring;
adoquery1.Parameters[2].Direction:=pdinput;
adoquery1.Parameters[2].Value:=edit3.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[3].Name:='rs';
adoquery1.Parameters[3].DataType:=ftstring;
adoquery1.Parameters[3].Direction:=pdinput;
adoquery1.Parameters[3].Value:=strtoint(edit4.Text);
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[4].Name:='szyx';
adoquery1.Parameters[4].DataType:=ftstring;
adoquery1.Parameters[4].Direction:=pdinput;
adoquery1.Parameters[4].Value:=edit6.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[5].Name:='sxzy';
adoquery1.Parameters[5].DataType:=ftstring;
adoquery1.Parameters[5].Direction:=pdinput;
adoquery1.Parameters[5].Value:=edit5.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[6].Name:='bztel';
adoquery1.Parameters[6].DataType:=ftstring;
adoquery1.Parameters[6].Direction:=pdinput;
adoquery1.Parameters[6].Value:=edit7.Text;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[7].Name:='bzrtel';
adoquery1.Parameters[7].DataType:=ftstring;
adoquery1.Parameters[7].Direction:=pdinput;
adoquery1.Parameters[7].Value:=edit8.Text;
{adoquery1.Parameters.AddParameter;
adoquery1.Parameters[8].Name:='sysf';
adoquery1.Parameters[8].DataType:=ftstring;
adoquery1.Parameters[8].Direction:=pdinput;
adoquery1.Parameters[8].Value:=strtocurr(edit9.Text);
}
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[8].Name:='czy';
adoquery1.Parameters[8].DataType:=ftstring;
adoquery1.Parameters[8].Direction:=pdinput;
adoquery1.Parameters[8].Value:=username;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[9].Name:='day';
adoquery1.Parameters[9].DataType:=ftstring;
adoquery1.Parameters[9].Direction:=pdinput;
adoquery1.Parameters[9].Value:=date();
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[10].Name:='classname';
adoquery1.Parameters[10].DataType:=ftstring;
adoquery1.Parameters[10].Direction:=pdinput;
adoquery1.Parameters[10].Value:=edit1.Text;
adoquery1.ExecSQL;
adoquery1.Close;
adotable1.Refresh;
end;
procedure Tclassform.FormActivate(Sender: TObject);
begin
initform();
edit1.ReadOnly:=true;
edit1.Enabled:=false;
edit9.ReadOnly:=true;
bitbtn1.Caption:='修改';
ADOConnection1:=CheckUserForm.ADOConnection1;
dbgrid1.DataSource:=datasource1;
datasource1.DataSet:=adotable1;
adotable1.Connection:=ADOConnection1;
adotable1.TableName:='班级表';
adotable1.Active:=true;
new_record:=false;
dbgrid1.Columns[0].Width:=105;
dbgrid1.Columns[1].Width:=80;
dbgrid1.Columns[2].Width:=80;
dbgrid1.Columns[3].Width:=80;
dbgrid1.Columns[4].Width:=120;
dbgrid1.Columns[5].Width:=80;
dbgrid1.Columns[6].Width:=120;
dbgrid1.Columns[7].Width:=60;
dbgrid1.Columns[8].Width:=100;
dbgrid1.Columns[9].Width:=70;
dbgrid1.Columns[10].Width:=120;
dbgrid1.Columns[11].Width:=80;
if adotable1.Eof then
bitbtn2.Enabled:=false
else
loadfromtable;
edit4.Text:='0';
end;
procedure Tclassform.BitBtn3Click(Sender: TObject);
begin
close;
end;
procedure Tclassform.BitBtn1Click(Sender: TObject);
var str1,str2,str3,str4,str5,str6,str7,str8,str9,str10:string;
begin
if edit1.Text<> '' then
begin
if new_record then
begin
//保存数据
str1:=edit1.Text;
str2:=edit2.Text;
str3:=edit3.Text;
str4:=edit4.Text;
str5:=edit5.Text;
str6:=edit6.Text;
str7:=edit7.Text;
str8:=edit8.Text;
//str9:=edit9.Text;
str10:=maskedit1.Text;
adotable1.Append;
adotable1.FieldByName('书费').AsCurrency:=0;
new_record:=false;
//恢复数据
edit1.Text:=str1;
edit2.Text:=str2;
edit3.Text:=str3;
edit4.Text:=str4;
edit5.Text:=str5;
edit6.Text:=str6;
edit7.Text:=str7;
edit8.Text:=str8;
//edit9.Text:=str9;
maskedit1.Text:=str10;
savetotable;
bitbtn1.Caption:='修改';
bitbtn2.Enabled:=true;
end
else
begin
edit1.ReadOnly:=true;
update();
end;
end
else
application.MessageBox('您输入的信息有错或不完整!','提示',mb_ok);
end;
procedure Tclassform.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;
maskedit1.Text:=datetostr(adodateset1.fieldbyname('入学时间').AsDateTime);
edit6.Text:=adodateset1.fieldbyname('所在院系').AsString;
edit2.Text:=adodateset1.fieldbyname('班长').AsString;
edit7.Text:=adodateset1.fieldbyname('班长联系电话').AsString;
edit3.Text:=adodateset1.fieldbyname('班主任').AsString;
edit8.Text:=adodateset1.fieldbyname('班主任联系电话').AsString;
edit5.Text:=adodateset1.fieldbyname('所学专业').AsString;
edit4.Text:=adodateset1.fieldbyname('班级人数').AsString;
edit9.Text:=floattostr(adodateset1.fieldbyname('书费').AsCurrency);
end;
end;
end;
end;
procedure Tclassform.BitBtn4Click(Sender: TObject);
begin
edit1.Enabled:=true;
edit1.ReadOnly:=false;
edit1.Text:='';
edit1.SetFocus;
edit9.Text:='0';
new_record:=true;
bitbtn1.Caption:='保存';
application.MessageBox('请输入信息并注意保存!','提示!',mb_ok);
end;
procedure Tclassform.BitBtn2Click(Sender: TObject);
var adoquery1:tadoquery;
begin
if adotable1.Recordset.RecordCount>0 then
begin
adotable1.Delete;
{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;
initform();
adoquery1.Close;
adotable1.Requery(); }
application.MessageBox('记录已删除!','提示!',mb_ok);
end
else
bitbtn2.Enabled:=false;
new_record:=false;
end;
procedure Tclassform.ADOTable1AfterScroll(DataSet: TDataSet);
begin
loadfromtable ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -