代码如下:unit read;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, DBCtrls, Mask, ExtCtrls;type
TOwnBook=record
Code : String;
Name : String;
Price : String;
OwnDays : integer;
end; TLendForm = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Panel2: TPanel;
Panel1: TPanel;
ComboBox1: TComboBox;
Panel3: TPanel;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
StaticText6: TStaticText;
StaticText7: TStaticText;
StaticText8: TStaticText;
StaticText9: TStaticText;
StaticText10: TStaticText;
StaticText11: TStaticText;
StaticText0: TStaticText;
DBName: TDBEdit;
DBAuthor: TDBEdit;
DBPress: TDBEdit;
DBOutDate: TDBEdit;
DBCost: TDBEdit;
DBMemo: TDBMemo;
ReaderIDEdit: TEdit;
TotalEdit: TEdit;
OwnTimeEdit: TEdit;
FineEdit: TEdit;
ADOConnection1: TADOConnection;
tempADOQuery1: TADOQuery;
tempADOQuery2: TADOQuery;
DataSource1: TDataSource;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
procedure FormShow(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ReaderIDEditChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
LendForm: TLendForm;implementationuses ownbook;{$R *.dfm}procedure TLendForm.FormShow(Sender: TObject);
var
i: integer ;
begin
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select code from book');
Open ;
First;
for i:=0 to RecordCount-1 do
begin
ComboBox1.Items.Add(FieldbyName('code').AsString);
Next;
end;
Close;
end;end;procedure TLendForm.ComboBox1Change(Sender: TObject);
var
FDate : TDate;
OwnTime : TDate ;
begin
ReaderIDEdit.Text:='';
TotalEdit.Text:='';
OwnTimeEdit.Text :='';
FineEdit.Text:='';
if Length(ComboBox1.Text) =10 then
begin
try
with ADOTable1 do
begin
TableName :='book';
DBOutDate.DataField := 'outdate' ;
DBName.DataField := 'name' ;
DBAuthor.DataField := 'author' ;
DBPress.DataField := 'press' ;
DBCost.DataField := 'cost' ;
DBMemo.DataField := 'memo' ;
Active := True;
if not Locate('code' ,ComboBox1.Text,[]) then
begin
MessageDlg('没有数据或数据库操作失败',mtError, [mbok], 0);
panel1.Visible := False ;
Exit;
end;
panel1.Visible := True;
end;
except
MessageDlg('数据操作出错',mtError, [mbok], 0);
end; try
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select * from lend where Code =:Code');
Parameters.ParamByName('code').Value :=ComboBox1.Text ;
Open; if RecordCount <> 0 then
begin
FDate := FieldByName('outdate').AsDateTime;
OwnTime :=Date - FDate ;
OwnTimeEdit.Text :=FloatToStr(OwnTime) ;
ReaderIDEdit.Text := FieldByName('readerid').AsString;
StaticText10.Visible :=True ;
OwnTimeEdit.Visible := True ; if StrToInt(OwnTimeEdit.Text)>60 then
begin
StaticText11.Visible :=True;
FineEdit.Visible :=True ;
FineEdit.Text := FloatToStr((StrToInt(OwnTimeEdit.Text)-60)*0.1);
end;
Button1.Enabled := False ;
Button2.Enabled := True ;
Button2.SetFocus;
Close ;
end
else begin
ReaderIDEdit.SetFocus;
Button1.Enabled := True;
Button2.Enabled := False ;
end;
end;
except
ReaderIDEdit.SetFocus;
end;
end;
end;procedure TLendForm.Button3Click(Sender: TObject);
begin
Close;
end;
procedure TLendForm.Button2Click(Sender: TObject);
begin
try
with ADOQuery1 do
begin SQL.Clear;
SQL.Add('delete * from lend where code =: '''+ComboBox1.Text+'''');
//Parameters.ParamByName('code').Value:=ComboBox1.Text;
ExecSQL;
Close;
end;
except
MessageDlg('还书不成功',mtError,[mbok],0);
end; ReaderIDEdit.Text :='';
TotalEdit.Text :='';
OwnTimeEdit.Text :='';
FineEdit.Text :='';
Panel1.Visible := False;end;procedure TLendForm.Button1Click(Sender: TObject);
var
tempOwnBook :TOwnBook ;
CanLend :Boolean;
mmcode: string;begin
if ReaderIDEdit.Text<>'' then
begin
try
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select code from lend where readerid =: '''+ReaderIDEdit.Text+'''');
//Parameters.ParamByName('readerid').Value:=ReaderIDEdit.Text;
Open;
CanLend :=True ;
OwnBookForm.ListView1.Items.Clear;
mmcode := fieldbyname('code').AsString;
while not Eof do
begin
with tempADOQuery1 do
begin
SQL.Clear;
SQL.Add('select * from book where code =:code');
Parameters.ParamByName('code').Value:=ADOQuery1.FieldByName('code').AsString;
Open;
tempOwnBook.Code := FieldByName('code').AsString;
tempOwnBook.Name := FieldByName('Name').AsString;
tempOwnBook.Price := FieldByName('Price').AsString;
try
with tempADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('select * from lend where code =:code and readerid =:readerid');
Parameters.ParamByName('code').Value:=ADOQuery1.FieldByName('code').AsString;
Parameters.ParamByName('readerid').Value:=ReaderIDEdit.Text;
Open;
tempOwnBook.OwnDays :=Round(Date-FieldByName('outdate').AsDateTime);
Close;
end;
except
tempOwnBook.OwnDays := 0 ;
end;
Close;
end; if tempOwnBook.OwnDays >60 then
begin
with OwnBookForm.ListView1.Items.Add do
begin
Caption := tempOwnBook.Code;
SubItems.Add(tempOwnBook.Name);
SubItems.Add(tempOwnBook. Price);
SubItems.Add(IntToStr(tempOwnBook.OwnDays));
SubItems.Add(FloatToStr((tempOwnBook.OwnDays-60)*0.1));
end;
CanLend :=False ;
end;
Next ;
end;
Close;
end ;
except
CanLend :=False ;
end; if CanLend =False then
begin
OwnBookForm.Caption :=ReaderIDEdit.Text+'有以下书籍没有按时归还';
OwnBookForm.ShowModal;
exit;
end; try
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('insert into lend(code,readerid,outdate) '+' values(:code, :readerid , :outdate)');
Parameters.ParamByName('code').Value := ComboBox1.Text;
Parameters.ParamByName('readerid').Value := ReaderIDEdit.Text;
Parameters.ParamByName('OutDate').Value := DateToStr(now());
ExecSQL;
end;
except
MessageDlg('借书不成功',mtError,[mbok],0);
end; Panel1.Visible :=False ;
end
else begin
showMessage('请输入借书证号');
ReaderIDEdit.Setfocus;
end;
end;procedure TLendForm.ReaderIDEditChange(Sender: TObject);
begin
if Length(ReaderIDEdit.Text) = 10 then
begin
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select readerid from reader where readerid =:'''+ReaderIDEdit.Text+'''');
//Parameters.ParamByName('readerid').Value:=ReaderIDEdit.Text;
Open;
if RecordCount =0 then
begin
Button1.Enabled := False ;
MessageDlg('借书证号<'+ReaderIDEdit.Text+'>不存在',mtError,[mbok],0);
Close;
Exit;
end;
Close;
end; try
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select Count(readerid) from lend where readerid =:readerid');
Parameters.ParamByName('readerid').Value:=ReaderIDEdit.Text;
Open;
TotalEdit.Text :=IntToStr(Fields[0].value);
Close;
end;
except
TotalEdit.Text :='0';
end; Button2.Enabled :=False;
Button1.Enabled := True ;
Button1.SetFocus;
end;
end;end.这是图书馆借书的代码,每次我输入借书证号的时候就显示“借书证号<0070601145>不存在” ,但我的SQL2000 数据表中已经有这个借书证号,我输入10位借书证号的时候老是显示不存在,不管数据表中已有借书证号还是没有,我不知道错在哪里,望哪位大虾可以帮忙下。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, DBCtrls, Mask, ExtCtrls;type
TOwnBook=record
Code : String;
Name : String;
Price : String;
OwnDays : integer;
end; TLendForm = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Panel2: TPanel;
Panel1: TPanel;
ComboBox1: TComboBox;
Panel3: TPanel;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
StaticText6: TStaticText;
StaticText7: TStaticText;
StaticText8: TStaticText;
StaticText9: TStaticText;
StaticText10: TStaticText;
StaticText11: TStaticText;
StaticText0: TStaticText;
DBName: TDBEdit;
DBAuthor: TDBEdit;
DBPress: TDBEdit;
DBOutDate: TDBEdit;
DBCost: TDBEdit;
DBMemo: TDBMemo;
ReaderIDEdit: TEdit;
TotalEdit: TEdit;
OwnTimeEdit: TEdit;
FineEdit: TEdit;
ADOConnection1: TADOConnection;
tempADOQuery1: TADOQuery;
tempADOQuery2: TADOQuery;
DataSource1: TDataSource;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
procedure FormShow(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ReaderIDEditChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
LendForm: TLendForm;implementationuses ownbook;{$R *.dfm}procedure TLendForm.FormShow(Sender: TObject);
var
i: integer ;
begin
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select code from book');
Open ;
First;
for i:=0 to RecordCount-1 do
begin
ComboBox1.Items.Add(FieldbyName('code').AsString);
Next;
end;
Close;
end;end;procedure TLendForm.ComboBox1Change(Sender: TObject);
var
FDate : TDate;
OwnTime : TDate ;
begin
ReaderIDEdit.Text:='';
TotalEdit.Text:='';
OwnTimeEdit.Text :='';
FineEdit.Text:='';
if Length(ComboBox1.Text) =10 then
begin
try
with ADOTable1 do
begin
TableName :='book';
DBOutDate.DataField := 'outdate' ;
DBName.DataField := 'name' ;
DBAuthor.DataField := 'author' ;
DBPress.DataField := 'press' ;
DBCost.DataField := 'cost' ;
DBMemo.DataField := 'memo' ;
Active := True;
if not Locate('code' ,ComboBox1.Text,[]) then
begin
MessageDlg('没有数据或数据库操作失败',mtError, [mbok], 0);
panel1.Visible := False ;
Exit;
end;
panel1.Visible := True;
end;
except
MessageDlg('数据操作出错',mtError, [mbok], 0);
end; try
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select * from lend where Code =:Code');
Parameters.ParamByName('code').Value :=ComboBox1.Text ;
Open; if RecordCount <> 0 then
begin
FDate := FieldByName('outdate').AsDateTime;
OwnTime :=Date - FDate ;
OwnTimeEdit.Text :=FloatToStr(OwnTime) ;
ReaderIDEdit.Text := FieldByName('readerid').AsString;
StaticText10.Visible :=True ;
OwnTimeEdit.Visible := True ; if StrToInt(OwnTimeEdit.Text)>60 then
begin
StaticText11.Visible :=True;
FineEdit.Visible :=True ;
FineEdit.Text := FloatToStr((StrToInt(OwnTimeEdit.Text)-60)*0.1);
end;
Button1.Enabled := False ;
Button2.Enabled := True ;
Button2.SetFocus;
Close ;
end
else begin
ReaderIDEdit.SetFocus;
Button1.Enabled := True;
Button2.Enabled := False ;
end;
end;
except
ReaderIDEdit.SetFocus;
end;
end;
end;procedure TLendForm.Button3Click(Sender: TObject);
begin
Close;
end;
procedure TLendForm.Button2Click(Sender: TObject);
begin
try
with ADOQuery1 do
begin SQL.Clear;
SQL.Add('delete * from lend where code =: '''+ComboBox1.Text+'''');
//Parameters.ParamByName('code').Value:=ComboBox1.Text;
ExecSQL;
Close;
end;
except
MessageDlg('还书不成功',mtError,[mbok],0);
end; ReaderIDEdit.Text :='';
TotalEdit.Text :='';
OwnTimeEdit.Text :='';
FineEdit.Text :='';
Panel1.Visible := False;end;procedure TLendForm.Button1Click(Sender: TObject);
var
tempOwnBook :TOwnBook ;
CanLend :Boolean;
mmcode: string;begin
if ReaderIDEdit.Text<>'' then
begin
try
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select code from lend where readerid =: '''+ReaderIDEdit.Text+'''');
//Parameters.ParamByName('readerid').Value:=ReaderIDEdit.Text;
Open;
CanLend :=True ;
OwnBookForm.ListView1.Items.Clear;
mmcode := fieldbyname('code').AsString;
while not Eof do
begin
with tempADOQuery1 do
begin
SQL.Clear;
SQL.Add('select * from book where code =:code');
Parameters.ParamByName('code').Value:=ADOQuery1.FieldByName('code').AsString;
Open;
tempOwnBook.Code := FieldByName('code').AsString;
tempOwnBook.Name := FieldByName('Name').AsString;
tempOwnBook.Price := FieldByName('Price').AsString;
try
with tempADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('select * from lend where code =:code and readerid =:readerid');
Parameters.ParamByName('code').Value:=ADOQuery1.FieldByName('code').AsString;
Parameters.ParamByName('readerid').Value:=ReaderIDEdit.Text;
Open;
tempOwnBook.OwnDays :=Round(Date-FieldByName('outdate').AsDateTime);
Close;
end;
except
tempOwnBook.OwnDays := 0 ;
end;
Close;
end; if tempOwnBook.OwnDays >60 then
begin
with OwnBookForm.ListView1.Items.Add do
begin
Caption := tempOwnBook.Code;
SubItems.Add(tempOwnBook.Name);
SubItems.Add(tempOwnBook. Price);
SubItems.Add(IntToStr(tempOwnBook.OwnDays));
SubItems.Add(FloatToStr((tempOwnBook.OwnDays-60)*0.1));
end;
CanLend :=False ;
end;
Next ;
end;
Close;
end ;
except
CanLend :=False ;
end; if CanLend =False then
begin
OwnBookForm.Caption :=ReaderIDEdit.Text+'有以下书籍没有按时归还';
OwnBookForm.ShowModal;
exit;
end; try
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('insert into lend(code,readerid,outdate) '+' values(:code, :readerid , :outdate)');
Parameters.ParamByName('code').Value := ComboBox1.Text;
Parameters.ParamByName('readerid').Value := ReaderIDEdit.Text;
Parameters.ParamByName('OutDate').Value := DateToStr(now());
ExecSQL;
end;
except
MessageDlg('借书不成功',mtError,[mbok],0);
end; Panel1.Visible :=False ;
end
else begin
showMessage('请输入借书证号');
ReaderIDEdit.Setfocus;
end;
end;procedure TLendForm.ReaderIDEditChange(Sender: TObject);
begin
if Length(ReaderIDEdit.Text) = 10 then
begin
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select readerid from reader where readerid =:'''+ReaderIDEdit.Text+'''');
//Parameters.ParamByName('readerid').Value:=ReaderIDEdit.Text;
Open;
if RecordCount =0 then
begin
Button1.Enabled := False ;
MessageDlg('借书证号<'+ReaderIDEdit.Text+'>不存在',mtError,[mbok],0);
Close;
Exit;
end;
Close;
end; try
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select Count(readerid) from lend where readerid =:readerid');
Parameters.ParamByName('readerid').Value:=ReaderIDEdit.Text;
Open;
TotalEdit.Text :=IntToStr(Fields[0].value);
Close;
end;
except
TotalEdit.Text :='0';
end; Button2.Enabled :=False;
Button1.Enabled := True ;
Button1.SetFocus;
end;
end;end.这是图书馆借书的代码,每次我输入借书证号的时候就显示“借书证号<0070601145>不存在” ,但我的SQL2000 数据表中已经有这个借书证号,我输入10位借书证号的时候老是显示不存在,不管数据表中已有借书证号还是没有,我不知道错在哪里,望哪位大虾可以帮忙下。
解决方案 »
- vista 下获取文件版本信息中的FileDateTime项
- FileExists()函数可以判定一个文件是否存在,那么如何判断一个文件夹是否存在?
- CSDN---我只能对你说声 :“抱歉”
- 一个DELPHI 和 vb DLL互相调用的问题
- 编译时,出现没找到lunar.dcu文件,怎么办?
- key_down事件的问题。
- 那有讲indy编程的(书或电子书)?
- 那位可以告诉我控制ADO+DELPHI+sql server,一些规则、触发引起的错误??高分求助,我也会了!
- Ado查询返回数据的问题(模拟pb的rows as needed)
- 如何使用clientDataSet控件进行对某一字段求总和,跳楼大甩分,割脉献血!!!
- 请帮忙!
- TADOQuery怎样获得子查询COMPUTE SUM(field)值
改成
SQL.Add('select readerid from reader where readerid ='''+ReaderIDEdit.Text+'''');
或者
SQL.Add('select readerid from reader where readerid =:s1');
Parameters.ParamByName('s1').Value:=ReaderIDEdit.Text;
=后加:的是指=后面是参数,需要通过 Parameters.ParamByName('s1').Value:=***语句赋值
把你“借出”按钮代码贴出来,应该还是sql语句有问题
var
tempOwnBook :TOwnBook ;
CanLend :Boolean;
mmcode: string;begin
if ReaderIDEdit.Text<>'' then
begin
try
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('select code from lend where readerid =: '''+ReaderIDEdit.Text+'''');
//Parameters.ParamByName('readerid').Value:=ReaderIDEdit.Text;
Open;
CanLend :=True ;
OwnBookForm.ListView1.Items.Clear;
mmcode := fieldbyname('code').AsString;
while not Eof do
begin
with tempADOQuery1 do
begin
SQL.Clear;
SQL.Add('select * from book where code =:code');
Parameters.ParamByName('code').Value:=ADOQuery1.FieldByName('code').AsString;
Open;
tempOwnBook.Code := FieldByName('code').AsString;
tempOwnBook.Name := FieldByName('Name').AsString;
tempOwnBook.Price := FieldByName('Price').AsString;
try
with tempADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('select * from lend where code =:code and readerid =:readerid');
Parameters.ParamByName('code').Value:=ADOQuery1.FieldByName('code').AsString;
Parameters.ParamByName('readerid').Value:=ReaderIDEdit.Text;
Open;
tempOwnBook.OwnDays :=Round(Date-FieldByName('outdate').AsDateTime);
Close;
end;
except
tempOwnBook.OwnDays := 0 ;
end;
Close;
end; if tempOwnBook.OwnDays >60 then
begin
with OwnBookForm.ListView1.Items.Add do
begin
Caption := tempOwnBook.Code;
SubItems.Add(tempOwnBook.Name);
SubItems.Add(tempOwnBook. Price);
SubItems.Add(IntToStr(tempOwnBook.OwnDays));
SubItems.Add(FloatToStr((tempOwnBook.OwnDays-60)*0.1));
end;
CanLend :=False ;
end;
Next ;
end;
Close;
end ;
except
CanLend :=False ;
end; if CanLend =False then
begin
OwnBookForm.Caption :=ReaderIDEdit.Text+'有以下书籍没有按时归还';
OwnBookForm.ShowModal;
exit;
end; try
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('insert into lend(code,readerid,outdate) '+' values(:code, :readerid , :outdate)');
Parameters.ParamByName('code').Value := ComboBox1.Text;
Parameters.ParamByName('readerid').Value := ReaderIDEdit.Text;
Parameters.ParamByName('OutDate').Value := DateToStr(now());
ExecSQL;
end;
except
MessageDlg('借书不成功',mtError,[mbok],0);
end; Panel1.Visible :=False ;
end
else begin
showMessage('请输入借书证号');
ReaderIDEdit.Setfocus;
end;
end;
恩,学习了。这是借出的代码,但是我老是调试不成功,刚刚检查的时候,按借出键的时候,显示的是“access violation at address 004B3454 in model'bookmanager.exe'"是这样的错误,然后直接跳到了“ OwnBookForm.ListView1.Items.Clear;”这句话和“except
CanLend :=False ;
end;”这里有错
procedure TLendForm.Button1Click(Sender: TObject);
var
tempOwnBook : TOwnBook;
canland : boolean;
begin
if ReaderIDEdit.Text <>'' then
begin
try
with ADOQuery1 do
begin
SQL.Clear;
SQL.Add('select Code from Lend where ReaderID =:ReaderID');
Parameters.ParamByName('ReaderID').Value := ReaderIDEdit.Text;
Open;
CanLand := True;
OwnBookForm.ListView1.Items.Clear;
while not Eof do
begin
with tempADOQuery1 do
begin
SQL.Clear;
SQL.Add('select * from Book where Code =:Code');
Parameters.ParamByName('Code').Value :=
ADOQuery1.FieldByName('Code').AsString;
Open;
tempOwnBook.Code := FieldByName('Code').AsString;
tempOwnBook.Name := FieldByName('Name').AsString;
tempOwnBook.Price := FieldByName('Cost').AsString; try
with tempADOQuery2 do
begin
SQL.Clear;
SQL.Add('select * from Lend where Code = :Code and ReaderID =:ReaderID');
Parameters.ParamByName('Code').Value :=
ADOQuery1.FieldByName('Code').AsString;
Parameters.ParamByName('ReaderID').Value := ReaderIDEdit.Text;
Open;
tempOwnBook.OwnDays := Round(Date-FieldByName('OutDate').AsDateTime);
Close;
end;
except
tempOwnBook.OwnDays := 0;
end;
Close;
end; if tempOwnBook.OwnDays >60 then
begin
with OwnBookForm.ListView1.Items.Add do
begin
Caption := tempOwnBook.Code;
SubItems.Add(tempOwnBook.Name);
SubItems.Add(tempOwnBook.Price);
SubItems.Add(IntToStr(tempOwnBook.OwnDays));
SubItems.Add(FloatToStr((tempOwnBook.OwnDays-60)*0.1));
end;
CanLand := False;
end;
Next;
end;
Close;
end;
except
CanLand := False;
end; if CanLand = False then
begin
OwnBookForm.Caption := ReaderIDEdit.Text+'有以下书籍没按时归还';
OwnBookForm.ShowModal;
Exit;
end; try
with ADOQuery1 do
begin
SQL.Clear;
SQL.Add('insert into Lend'+' values(:Code,:ReaderID,:OutDate)');
Parameters.ParamByName('Code').Value := ComboBox1.Text;
Parameters.ParamByName('ReaderID').Value:=ReaderIDEdit.Text;
Parameters.ParamByName('OutDate').Value := DateToStr(now);
ExecSQL;
end;
except
MessageDlg('借书不成功',mtError,[mbok],0);
end; Panel1.Visible := False;
end
else begin
ShowMessage('请输入借书证号!');
ReaderIDEdit.Setfocus;
end;
end;
按借出键的时候,显示的是“access violation at address 004B3454 in model'bookmanager.exe'"是这样的错误,跳到这句话“OwnBookForm.ShowModal;”的时候就出现了上面这个错误
改成:
SQL.Add('select code from lend where readerid =:ReaderID');
Parameters.ParamByName('ReaderID').Value:=trim(ReaderIDEdit.Text);