如何用DELPHI 调用SQL存储过程(以图书借阅系统为例)

用DELPHI和SQL2005制作一个图书借阅管理系统现在有关系模型管理员(工号,姓名,值班时间,性别,电话)借阅信息(借阅号,图书证号,ISBM,借阅时间,实还时间,还... 用DELPHI和SQL2005制作一个 图书借阅管理系统现在有关系模型管理员(工号,姓名,值班时间,性别,电话)借阅信息(借阅号,图书证号,ISBM,借阅时间,实还时间,还书时间)图书(ISBM,书名,作者,出版社,类别,入库时间,单价,库存量)借阅人(图书证号,姓名,已借图书数量,能否借书,电话) 并且构建好存储过程就是不懂如何在DELPHI调用该存储过程 (以借书为例)USE 图书借阅GOALTER PROC 借书过程 @图书证号 char(10),@书名 varchar(30)AS DECLARE @借阅号 int,@ISBM CHAR(10),@ 已借图书数目int IF EXISTS (SELECT * FROM 图书信息表 WHERE 书名=@书名and 库存量>0) BEGIN BEGIN TRAN SELECT @ISBM=ISBM FROM 图书信息表--取出图书所对应的图书编号 WHERE 书名=@书名 and 库存量>0 UPDATE 图书信息表 SET 库存量=库存量-1 WHERE ISBM=@ISBM IF @@error!=0 --如果操作失败 BEGIN ROLLBACK TRAN PRINT '更新图书信息表失败。' RETURN 1 END SELECT @借阅号=借阅号 FROM 借阅信息 ORDER BY 借阅号--取出最大借阅号 IF @借阅号 is null SET @借阅号=0 INSERT into 借阅信息(借阅号,图书证号,ISBM,借阅时间,应还时间) VALUES (@借阅号+1,@图书证号,@ISBM,getdate(),(getdate()+30)) IF EXISTS(SELECT * FROM 借阅信息 WHERE 图书证号=@图书证号 AND (GETDATE())-借阅时间>30 AND 实还时间 IS NULL) BEGIN ROLLBACK TRAN PRINT '借书失败,已有图书超期。' RETURN 3 END UPDATE 借阅人信息表 SET 已借图书数目=已借图书数目+1 --修改该读者的借书册数 WHERE 图书证号=@图书证号 if (select 已借图书数目 from 借阅人信息表 where 图书证号=@图书证号) >5 begin rollback tran print'已借图书数目已达上限' return 4 end select @已借图书数目=已借图书数目from 借阅人信息表 WHERE 图书证号=@图书证号 if @已借图书数目=5 UPDATE 借阅人信息表 set 能否借书='否' WHERE 图书证号=@图书证号 IF @@error!=0 BEGIN ROLLBACK TRAN PRINT '更新借阅人信息失败。' RETURN 4 END COMMIT TRAN PRINT '恭喜您借书成功!图书编号是:'+@ISBM RETURN 0 END ELSE BEGIN PRINT '图书已经借出或没有。' RETURN 2 END 展开
 我来答
纳艺类丽泽
2020-01-12 · TA获得超过3878个赞
知道小有建树答主
回答量:3128
采纳率:26%
帮助的人:448万
展开全部
用Dataset
控件,设置CommandText属性为执行存储过程的SQL语句,然后执行打开就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式