?? studentbook.~pas
字號:
unit studentbook;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, DB, ADODB, Buttons;
type
TStudentBookForm = class(TForm)
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
Label5: TLabel;
Edit4: TEdit;
DBGrid1: TDBGrid;
Label6: TLabel;
Edit5: TEdit;
Label7: TLabel;
Edit6: TEdit;
Label8: TLabel;
Edit7: TEdit;
Label9: TLabel;
Edit8: TEdit;
Label10: TLabel;
Edit9: TEdit;
Label11: TLabel;
Edit10: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
Label12: TLabel;
Edit11: TEdit;
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
StudentBookForm: TStudentBookForm;
implementation
uses main;
{$R *.dfm}
procedure TStudentBookForm.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TStudentBookForm.initiate;
begin
combobox1.text:='';
edit1.text:='0';
edit1.Enabled:=false;
edit1.TabStop:=false;
edit1.ReadOnly:=true;
edit2.text:='0';
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:='';
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';
edit9.Enabled:=false;
edit9.TabStop:=false;
edit9.ReadOnly:=true;
edit10.text:='';
edit11.text:='0';
edit11.Enabled:=false;
edit11.TabStop:=false;
edit11.ReadOnly:=true;
combobox1.setfocus;
end;
procedure TStudentBookForm.FormActivate(Sender: TObject);
var
adotable1:TAdoTable;
begin
dbgrid1.DataSource:=datasource1;
datasource1.DataSet:=adodataset1;
adodataset1.Connection:=adoconnection1;
adodataset1.Close;
adodataset1.CommandType:=cmdtext;
// adodataset1.CommandText:='select * from 教材表';
// adodataset1.open;
dbgrid1.ReadOnly:=true;
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;
initiate;
end;
procedure TStudentBookForm.ComboBox1Click(Sender: TObject);
var
adodataset1:TAdoDataset;
begin
adodataset1:=TAdoDataset.Create(self);
adodataset1.Connection:=adoconnection1;
adodataset1.CommandType:=cmdtext;
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:=combobox1.text;
adodataset1.Active:=true;
edit1.text:=IntToStr(adodataset1.fieldbyname('班級人數(shù)').asinteger);
edit2.text:=FloatToStr(adodataset1.fieldbyname('書費').ascurrency);
edit3.text:=adodataset1.fieldbyname('所在院系').asstring;
adodataset1.Close;
end;
procedure TStudentBookForm.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 TStudentBookForm.ADODataSet1AfterScroll(DataSet: TDataSet);
begin
edit5.text:=adodataset1.fieldbyname('出版社').asstring;
edit6.text:=adodataset1.fieldbyname('作者').asstring;
edit11.text:=Inttostr(adodataset1.fieldbyname('教材數(shù)量').asinteger);
edit8.text:=floattostr(adodataset1.fieldbyname('教材單價').ascurrency);
end;
procedure TStudentBookForm.Edit7Exit(Sender: TObject);
begin
if StrToInt(Edit7.text)>StrToInt(Edit11.text) then
begin
Application.MessageBox('目前書庫該書的數(shù)量不夠,請檢查!','提示信息',mb_ok);
edit7.SetFocus;
end
else
edit9.text:=FloatToStr(StrToInt(Edit7.Text)*StrToFloat(Edit8.text));
end;
procedure TStudentBookForm.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(Edit2.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(Edit2.text),StrToFloat(Edit9.text),StrToFloat(Edit2.text)-StrToFloat(Edit9.text),Edit10.text,username,date(),'學生領(lǐng)書'+Edit7.text+'*'+Edit8.text]);
adotable1.close;
adoquery1.close;
adoquery1.SQL.Clear;
adoquery1.sql.add('update 教材表 set 教材數(shù)量=: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(Edit11.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,Edit5.text,adodataset1.FieldByName('獲獎情況').AsString,adodataset1.FieldByName('出版年月').Asdatetime,combobox1.text,Edit10.text,StrToInt(Edit11.text),StrToInt(Edit7.text),StrToInt(Edit11.text)-StrToInt(Edit7.text),StrToFloat(Edit8.text),adodataset1.FieldByName('使用說明').AsString,date(),'學生領(lǐng)書'+Edit7.text+'*'+Edit8.text,username,date()]);
adotable1.close;
initiate;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -