用DELPHI做一个图书管理系统,在借书的时候需要判断读者是否可借。
我创建了一个borrow和reader表,通过查询borrow的是否过期orver和reader的借阅数r_num判断该读者是否可借创建了一个存储结构:create procedure shifoukejie /*查看读者是否可借书*/
@r_id char(4),@r_name char(8) output,@r_num int output,@orver varchar(2) output
as
Select
reader.r_name 读者姓名,reader.r_num 借阅数量,borrow.orver 是否超期
from reader left join borrow on reader.r_id=borrow.r_id
where reader.r_id=@r_id
go
declare @r_num int
declare @orver varchar(2)
declare @r_name char(8)
exec shifoukejie '0001',@r_name output,@r_num output,@orver output
print @r_name
查询时好像找不到我的DELPHI是这么写的:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('EXEC shifoukejie :r_id,:r_name output,:r_num output,:orver output');
ADOQuery1.Parameters.ParamByName('r_id').Value:=edit3.text;
ADOQuery1.Prepared;
ADOQuery1.ExecSQL;
label3.caption:=inttostr(ADOQuery1.Parameters.ParamValues['r_name']);
label4.Caption:=inttostr(ADOQuery1.Parameters.Items[2].Value)+'本书,如下:';
if (ADOQuery1.Parameters.Items[2].Value=20) or (ADOQuery1.Parameters.Items[3].Value='否') then
showmessage('该用户不能借书');
这里好像也有错!
请高手帮忙
我创建了一个borrow和reader表,通过查询borrow的是否过期orver和reader的借阅数r_num判断该读者是否可借创建了一个存储结构:create procedure shifoukejie /*查看读者是否可借书*/
@r_id char(4),@r_name char(8) output,@r_num int output,@orver varchar(2) output
as
Select
reader.r_name 读者姓名,reader.r_num 借阅数量,borrow.orver 是否超期
from reader left join borrow on reader.r_id=borrow.r_id
where reader.r_id=@r_id
go
declare @r_num int
declare @orver varchar(2)
declare @r_name char(8)
exec shifoukejie '0001',@r_name output,@r_num output,@orver output
print @r_name
查询时好像找不到我的DELPHI是这么写的:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('EXEC shifoukejie :r_id,:r_name output,:r_num output,:orver output');
ADOQuery1.Parameters.ParamByName('r_id').Value:=edit3.text;
ADOQuery1.Prepared;
ADOQuery1.ExecSQL;
label3.caption:=inttostr(ADOQuery1.Parameters.ParamValues['r_name']);
label4.Caption:=inttostr(ADOQuery1.Parameters.Items[2].Value)+'本书,如下:';
if (ADOQuery1.Parameters.Items[2].Value=20) or (ADOQuery1.Parameters.Items[3].Value='否') then
showmessage('该用户不能借书');
这里好像也有错!
请高手帮忙
print @r_name
查询时好像找不到你存储过程中又没对这些变量赋值,当然找不到
@r_id char(4),@r_name char(8) output,@r_num int output,@orver varchar(2) output
as
Select
@r_name = reader.r_name,
@r_num = reader.r_num,
@orver = borrow.orver
from reader left join borrow on reader.r_id=borrow.r_id
where reader.r_id=@r_id
go
那就别用char,定义成String型呗~