📄 unitbook.pas
字号:
unit Unitbook;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, DB, ADODB;
type
TUnitBookForm = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
GroupBox2: TGroupBox;
Label5: TLabel;
Edit4: TEdit;
Label6: TLabel;
Edit5: TEdit;
DBGrid1: TDBGrid;
Label7: TLabel;
Edit6: TEdit;
Label8: TLabel;
Edit7: TEdit;
Label9: TLabel;
Edit8: TEdit;
Label10: TLabel;
Edit9: TEdit;
Label11: TLabel;
Edit10: TEdit;
Label12: TLabel;
Edit11: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(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 initiate;
end;
var
UnitBookForm: TUnitBookForm;
implementation
uses main;
{$R *.dfm}
procedure TUnitBookForm.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TUnitBookForm.initiate;
begin
combobox1.text:='';
edit1.text:='0';
edit1.Enabled:=false;
edit1.TabStop:=false;
edit1.readonly:=true;
edit2.text:='';
edit2.Enabled:=false;
edit2.TabStop:=false;
edit2.readonly:=true;
edit3.text:='';
edit3.Enabled:=false;
edit3.TabStop:=false;
edit3.readonly:=true;
edit4.text:='';
edit5.text:='';
edit5.Enabled:=false;
edit5.TabStop:=false;
edit5.readonly:=true;
edit6.text:='0';
edit6.Enabled:=false;
edit6.TabStop:=false;
edit6.readonly:=true;
edit7.text:='0';
edit8.text:='0';
edit8.Enabled:=false;
edit8.TabStop:=false;
edit8.readonly:=true;
edit9.text:='0';
edit10.text:='';
edit11.text:='';
combobox1.setfocus;
end;
procedure TUnitBookForm.FormActivate(Sender: TObject);
var
adotable1:Tadotable;
begin
initiate;
dbgrid1.DataSource:=datasource1;
dbgrid1.ReadOnly:=true;
datasource1.DataSet:=adodataset1;
adodataset1.Connection:=adoconnection1;
adodataset1.Close;
adotable1:=TAdotable.Create(self);
adotable1.Connection:=adoconnection1;
adotable1.TableName:='单位信息表';
adotable1.open;
combobox1.Items.Clear;
while not adotable1.Eof do
begin
combobox1.Items.Add(adotable1.fieldbyname('单位名').asstring);
adotable1.Next;
end;
adotable1.close;
end;
procedure TUnitBookForm.ComboBox1Click(Sender: TObject);
var
adodataset:Tadodataset;
begin
adodataset:=Tadodataset.Create(self);
adodataset.Connection:=adoconnection1;
adodataset.CommandType:=cmdtext;
adodataset.Close;
adodataset.CommandText:='select * from 单位信息表 where 单位名=:s0';
adodataset.Parameters.clear;
adodataset.Parameters.AddParameter;
adodataset.Parameters[0].name:='s0';
adodataset.Parameters[0].DataType:=ftstring;
adodataset.Parameters[0].Direction:=pdinput;
adodataset.Parameters[0].Value:=combobox1.text;
adodataset.open;
edit1.text:=FloatToStr(adodataset.fieldbyname('书费').ascurrency);
edit2.text:=adodataset.fieldbyname('负责人').asstring;
edit3.text:=adodataset.fieldbyname('联系电话').asstring;
adodataset.close;
end;
procedure TUnitBookForm.Edit4Exit(Sender: TObject);
begin
adodataset1.Close;
adodataset1.CommandText:='select * from 教材表 where 教材名=:s0';
adodataset1.Parameters.clear;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[0].Name:='s0';
adodataset1.Parameters[0].DataType:=ftstring;
adodataset1.Parameters[0].Direction:=pdinput;
adodataset1.Parameters[0].Value:=edit4.text;
adodataset1.Open;
end;
procedure TUnitBookForm.ADODataSet1AfterScroll(DataSet: TDataSet);
begin
edit5.text:=adodataset1.fieldbyname('出版社').asstring;
edit6.text:=Inttostr(adodataset1.fieldbyname('教材数量').asinteger);
edit8.text:=floattostr(adodataset1.fieldbyname('教材单价').ascurrency);
end;
procedure TUnitBookForm.Edit7Exit(Sender: TObject);
begin
if StrToInt(Edit7.text)>StrToInt(Edit6.text) then
begin
Application.MessageBox('目前书库该书的数量不够,请检查!','提示信息',mb_ok);
edit7.SetFocus;
end
else
edit9.text:=FloatToStr(StrToInt(Edit7.Text)*StrToFloat(Edit8.text));
end;
procedure TUnitBookForm.BitBtn1Click(Sender: TObject);
var
adoquery1:TAdoQuery;
adotable1:Tadotable;
begin
adoquery1:=TAdoQuery.Create(self);
adoquery1.Connection:=adoconnection1;
adoquery1.close;
adoquery1.SQL.add('update 单位信息表 set 书费=:s0 where 班级名=:s1');
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].name:='s0';
adoquery1.Parameters[0].DataType:=ftcurrency;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=strToFloat(Edit1.Text)-StrToFloat(Edit9.text);
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[1].name:='s1';
adoquery1.Parameters[1].DataType:=ftstring;
adoquery1.Parameters[1].Direction:=pdinput;
adoquery1.Parameters[1].Value:=combobox1.text;
adoquery1.Prepared;
adoquery1.ExecSQL;
adoquery1.close;
adotable1:=TAdoTable.Create(self);
adotable1.Connection:=adoconnection1;
adotable1.Close;
adotable1.TableName:='学生书费历史库';
adotable1.open;
adotable1.AppendRecord([combobox1.text,StrToFloat(Edit1.text),StrToFloat(Edit9.text),StrToFloat(Edit1.text)-StrToFloat(Edit9.text),Edit10.text,username,date(),Edit11.text]);
adotable1.close;
adoquery1.close;
adoquery1.SQL.Clear;
adoquery1.sql.add('update 教材表 set 教材数量=:s0,最后修改时间=Date() where 教材名=:s1');
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].name:='s0';
adoquery1.Parameters[0].DataType:=ftinteger;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=StrToInt(Edit6.text)-StrToInt(Edit7.text);
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[1].name:='s1';
adoquery1.Parameters[1].DataType:=ftstring;
adoquery1.Parameters[1].Direction:=pdinput;
adoquery1.Parameters[1].Value:=edit4.text;
adoquery1.ExecSQL;
adoquery1.close;
adotable1.Close;
adotable1.TableName:='教材出入库历史表';
adotable1.open;
adotable1.AppendRecord([edit4.text,adodataset1.FieldByName('出版社').AsString,adodataset1.FieldByName('获奖情况').AsString,adodataset1.FieldByName('出版年月').Asdatetime,combobox1.text,Edit10.text,StrToInt(Edit6.text),StrToInt(Edit7.text),StrToInt(Edit6.text)-StrToInt(Edit7.text),StrToFloat(Edit8.text),adodataset1.FieldByName('使用说明').AsString,date(),Edit11.text,username,date()]);
adotable1.close;
initiate;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -