📄 studentbook.~pas
字号:
unit studentbook;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB, Grids, DBGrids,
checkuser,main;
type
Tstudentform = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label4: TLabel;
Label5: TLabel;
ComboBox1: TComboBox;
GroupBox2: TGroupBox;
Label8: TLabel;
Label9: TLabel;
Edit7: TEdit;
Edit8: TEdit;
Label10: TLabel;
Edit9: TEdit;
Edit10: TEdit;
Label11: TLabel;
Label12: TLabel;
Edit11: TEdit;
ADOConnection1: TADOConnection;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADODataSet1: TADODataSet;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label3: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Label6: TLabel;
ADOTable1: TADOTable;
Label7: TLabel;
Edit6: TEdit;
ADODataSet2: TADODataSet;
procedure FormActivate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure Edit4Exit(Sender: TObject);
procedure ADODataSet1AfterScroll(DataSet: TDataSet);
procedure Edit7Exit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure initform();
end;
var
studentform: Tstudentform;
implementation
{$R *.dfm}
procedure Tstudentform.initform();
begin
edit1.Text:='0';
edit1.ReadOnly:=true;
edit1.TabStop:=false;
edit1.Enabled:=false;
edit2.Text:='0';
edit2.ReadOnly:=true;
edit2.TabStop:=false;
edit2.Enabled:=true;
edit3.Text:='0';
edit3.ReadOnly:=true;
edit3.TabStop:=false;
edit3.Enabled:=true;
edit6.Text:='';
edit6.ReadOnly:=true;
edit6.TabStop:=false;
edit6.Enabled:=true;
edit8.Text:='0';
edit8.ReadOnly:=true;
edit8.TabStop:=false;
edit8.Enabled:=true;
edit9.Text:='0';
edit9.ReadOnly:=true;
edit9.TabStop:=false;
edit9.Enabled:=true;
edit11.Text:='0';
edit11.ReadOnly:=true;
edit11.TabStop:=false;
edit11.Enabled:=true;
edit4.Text:='';
edit5.Text:='';
edit10.Text:=username;
edit7.Text:='0';
combobox1.Text:='';
combobox1.SetFocus;
edit4.Text:='';
edit4.SetFocus;
end;
procedure Tstudentform.FormActivate(Sender: TObject);
begin
ADOConnection1:=CheckUserForm.ADOConnection1;
adotable1.Connection:=ADOConnection1;
dbgrid1.DataSource:=DataSource1;
DataSource1.DataSet:=adodataset1;
adodataset1.Connection:=ADOConnection1;
adodataset2.Connection:=ADOConnection1;
adodataset1.CommandType:=cmdtext;
adodataset1.Close;
dbgrid1.ReadOnly:=true;
adotable1.TableName:='班级表';
adotable1.Active:=true;
while not adotable1.Eof do
begin
combobox1.Items.Add(adotable1.fieldbyname('班级名').AsString);
adotable1.Next;
end;
combobox1.Text:='';
adotable1.Close;
//----------------------模块的初始化-------------------
initform;
end;
procedure Tstudentform.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tstudentform.ComboBox1Click(Sender: TObject);
begin
adodataset2.CommandType:=cmdtext;
adodataset2.CommandText:='select * from 班级表 where 班级名=:classname order by 班级名 asc';
adodataset2.Parameters.Clear;
adodataset2.Parameters.AddParameter;
adodataset2.Parameters[0].Name:='classname';
adodataset2.Parameters[0].DataType:=ftstring;
adodataset2.Parameters[0].Direction:=pdinput;
adodataset2.Parameters[0].Value:=combobox1.Text;
adodataset2.Active:=true;
edit2.Text:=currtostr(adodataset2.fieldbyname('书费').AsCurrency);
edit1.Text:=inttostr(adodataset2.fieldbyname('班级人数').AsInteger);
edit3.Text:=adodataset2.fieldbyname('所在院系').AsString;
adodataset2.Close;
end;
procedure Tstudentform.Edit4Exit(Sender: TObject);
begin
adodataset1.Close;
adodataset1.CommandText:='select * from 教材表 where 教材名=:classname order by 教材名 asc';
adodataset1.Parameters.Clear;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[0].Name:='classname';
adodataset1.Parameters[0].DataType:=ftstring;
adodataset1.Parameters[0].Direction:=pdinput;
adodataset1.Parameters[0].Value:=edit4.Text;
adodataset1.Active:=true;
dbgrid1.Columns[0].Width:=60;
dbgrid1.Columns[1].Width:=90;
dbgrid1.Columns[2].Width:=60;
dbgrid1.Columns[3].Width:=80;
dbgrid1.Columns[4].Width:=60;
dbgrid1.Columns[5].Width:=60;
dbgrid1.Columns[6].Width:=60;
dbgrid1.Columns[7].Width:=55;
dbgrid1.Columns[8].Width:=55;
dbgrid1.Columns[9].Width:=60;
dbgrid1.Columns[10].Width:=60;
dbgrid1.Columns[11].Width:=80;
dbgrid1.Columns[12].Width:=60;
dbgrid1.Columns[13].Width:=80;
dbgrid1.Columns[14].Width:=20;
end;
procedure Tstudentform.ADODataSet1AfterScroll(DataSet: TDataSet);
begin
edit5.Text:=ADODataSet1.Fieldbyname('出版社').AsString;
edit6.Text:=ADODataSet1.Fieldbyname('作者').AsString;
edit11.Text:=inttostr(ADODataSet1.Fieldbyname('教材数量').asinteger);
edit8.Text:=currtostr(ADODataSet1.Fieldbyname('教材单价').Ascurrency);
end;
procedure Tstudentform.Edit7Exit(Sender: TObject);
begin
if strtoint(edit7.Text)>strtoint(edit11.Text) then
begin
application.MessageBox('库存不足!','提示!',48);
edit7.SetFocus;
end
else
edit9.Text:=floattostr(strtofloat(edit8.Text)*strtofloat(edit7.Text));
end;
procedure Tstudentform.BitBtn1Click(Sender: TObject);
var adoquery1:tadoquery;
begin
//------------------更新班级表信息---------------------
adoquery1:=tadoquery.Create(self);
adoquery1.Connection:=ADOConnection1;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('update 班级表 set 书费=:SF where 班级名=:classname');
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='SF';
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=strtocurr(edit2.Text)-strtocurr(edit9.Text);
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[1].Name:='classname';
adoquery1.Parameters[1].DataType:=ftstring;
adoquery1.Parameters[1].Direction:=pdinput;
adoquery1.Parameters[1].Value:=combobox1.Text;
adoquery1.ExecSQL;
adoquery1.Close;
//------------------更新教材表---------------------
adoquery1.SQL.Clear;
adoquery1.SQL.Add('update 教材表 set 教材数量=:SL,最后修改时间=date() where 教材名=:name');
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='SL';
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=strtoint(edit11.Text)-strtoint(edit7.Text);
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[1].Name:='name';
adoquery1.Parameters[1].DataType:=ftstring;
adoquery1.Parameters[1].Direction:=pdinput;
adoquery1.Parameters[1].Value:=edit4.Text;
adoquery1.ExecSQL;
//---------------添加学生书费历史记录----------------
adotable1.Close;
adotable1.TableName:='学生书费历史库';
adotable1.Open;
adotable1.AppendRecord ([combobox1.Text,strtocurr(edit2.Text),strtocurr(edit9.Text),
strtocurr(edit2.Text)-strtocurr(edit9.Text),
username,username,date(),
'领书花费'+edit9.Text+'元']);
adotable1.Close;
//---------------添加教材出入库历史记录-------------
adotable1.Close;
adotable1.TableName:='教材出入库历史表';
adotable1.Open;
adotable1.AppendRecord([edit4.Text,
edit5.Text,
adodataset1.FieldByName('获奖情况').AsString,
adodataset1.FieldByName('出版年月').Asdatetime,
combobox1.Text,
edit10.Text,
strtoint(edit11.Text),
strtoint(edit7.Text),
strtoint(edit11.Text)-strtoint(edit7.Text),
strtocurr(edit8.Text),
adodataset1.FieldByName('使用说明').AsString,
date(),
'领书花费'+edit9.Text+'元',
username,
date()]);
adotable1.Close;
initform;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -