📄 readunit.pas
字号:
unit ReadUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls;
type
TReadForm = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
ComboBox2: TComboBox;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
StatusBar1: TStatusBar;
BitBtn4: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure WMNCpaint(var Msg:TWMNCPaint); message WM_NCPAINT;
public
{ Public declarations }
end;
var
ReadForm: TReadForm;
implementation
uses DMUnit,Share;
{$R *.dfm}
procedure TReadForm.WMNCpaint(var Msg: TWMNCPaint);
begin
inherited;
Draw(ReadForm);
end;
procedure TReadForm.FormCreate(Sender: TObject);
var
readstr:TStrings;
begin
readstr:=TStringList.Create;
try
readstr:=DM.GetReadTyp;
Combobox2.Items.Clear;
combobox2.Items.Assign(readstr);
combobox2.ItemIndex:=0;
readstr:=DM.GetAllReadID;
Combobox1.Items.Clear;
combobox1.Items.Assign(readstr);
combobox1.ItemIndex:=0;
finally
readstr.Free;
end;
end;
procedure TReadForm.ComboBox1Change(Sender: TObject);
begin
with DM.ReadQuery do
begin
SQL.Text:='select read_name,read_type,read_addr,read_post,'+
'read_phone,read_hand,read_email,read_qq from read_info'+
' where read_id=:in0';
Parameters[0].Value:=Trim(combobox1.Text);
Prepared;
Open;
if RecordCount=1 then
begin
edit1.Text:=Fields[0].AsString;
combobox2.Text:=Fields[1].AsString;
Edit2.Text:=Fields[2].AsString;
Edit3.Text:=Fields[3].AsString;
Edit4.Text:=Fields[4].AsString;
Edit5.Text:=Fields[5].AsString;
Edit6.Text:=Fields[6].AsString;
Edit7.Text:=Fields[7].AsString;
end;
Close;
end;
end;
procedure TReadForm.ComboBox2Change(Sender: TObject);
var
i:byte;
begin
With DM do
begin
ReadQuery.SQL.Text:='select book_num from read_type where type_sno=:in0';
REadQuery.Parameters[0].Value:=combobox2.Text;
ReadQuery.Prepared;
ReadQuery.Open;
i:=ReadQuery.Fields[0].AsInteger;
ReadQuery.Close;
end;
StatusBar1.Panels[1].Text:='此类型用户可借书'+inttostr(i)+'本';
end;
procedure TReadForm.BitBtn1Click(Sender: TObject);
begin
with DM do
begin
if not ValRead(Trim(combobox1.Text)) then
begin
showmessage('此读者编号在数据库中不存在!');
combobox1.SetFocus;
exit;
end;
ADOConn.BeginTrans;
try
ReadQuery.SQL.Text:='update read_info set read_name=:in0,read_type=:in1,'+
'read_addr=:in2,read_post=:in3,read_phone=:in4,'+
'read_hand=:in5,read_email=:in6,read_qq=:in7 where '+
' read_id=:in8';
ReadQuery.Parameters[0].Value:=Trim(edit1.Text);
ReadQuery.Parameters[1].Value:=combobox2.Text;
ReadQuery.Parameters[2].Value:=Trim(edit2.Text);
ReadQuery.Parameters[3].Value:=Trim(edit3.Text);
ReadQuery.Parameters[4].Value:=Trim(edit4.Text);
ReadQuery.Parameters[5].Value:=Trim(edit5.Text);
ReadQuery.Parameters[6].Value:=Trim(edit6.Text);
ReadQuery.Parameters[7].Value:=Trim(edit7.Text);
ReadQuery.Parameters[8].Value:=Trim(combobox1.Text);
ReadQuery.Prepared;
ReadQuery.ExecSQL;
ADOconn.CommitTrans;
except
ADOconn.RollbackTrans;
showmessage('更新读者信息时出错!');
end;
ReadQuery.Close;
end;
showmessage('恭喜!修改成功。');
end;
procedure TReadForm.BitBtn2Click(Sender: TObject);
begin
with DM do
begin
if ValRead(trim(combobox1.Text)) then
begin
showmessage('此读者信息在库存中已存在!');
combobox1.SetFocus;
exit;
end;
ADOConn.BeginTrans;
try
ReadQuery.SQL.Text:='insert into read_info(read_id,read_name,read_type,'+
'read_addr,read_post,read_phone,read_hand,read_email,'+
'read_qq) values(:in0,:in1,:in2,:in3,:in4,:in5,:in6,:in7,:in8)';
ReadQuery.Parameters[0].Value:=Trim(combobox1.Text);
ReadQuery.Parameters[1].Value:=Trim(edit1.Text);
ReadQuery.Parameters[2].Value:=combobox2.Text;
ReadQuery.Parameters[3].Value:=Trim(edit2.Text);
ReadQuery.Parameters[4].Value:=Trim(edit3.Text);
ReadQuery.Parameters[5].Value:=Trim(edit4.Text);
ReadQuery.Parameters[6].Value:=Trim(edit5.Text);
ReadQuery.Parameters[7].Value:=Trim(edit6.Text);
ReadQuery.Parameters[8].Value:=Trim(edit7.Text);
ReadQuery.Prepared;
ReadQuery.ExecSQL;
ADOConn.CommitTrans;
except
ADOConn.RollbackTrans;
showmessage('添加读者时发生异常情况!');
end;
ReadQuery.Close;
end;
showmessage('恭喜,添加成功');
end;
procedure TReadForm.BitBtn3Click(Sender: TObject);
begin
with DM do
begin
if not valRead(trim(combobox1.Text)) then
begin
showmessage('数据库中没有这个读者编号!');
combobox1.SetFocus;
exit;
end;
ADOConn.BeginTrans;
try
ReadQuery.SQL.Text:='delete from read_info where read_id=:in0';
ReadQuery.Parameters[0].Value:=Trim(combobox1.Text);
ReadQuery.Prepared;
ReadQuery.ExecSQL;
ADOConn.CommitTrans;
except
ADOconn.RollbackTrans;
showmessage('发生了意外事故!');
end;
ReadQuery.Close;
end;
BitBtn4Click(Sender);
end;
procedure TReadForm.BitBtn4Click(Sender: TObject);
var
readstr:TStrings;
begin
readstr:=TStringList.Create;
try
readstr:=DM.Getreadid;
combobox1.Items.Clear;
combobox1.Items.Assign(readstr);
combobox1.ItemIndex:=0;
finally
readstr.Free;
end;
end;
procedure TReadForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ReadForm:=nil;
Action:=caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -