SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Proc_OrderAdd]
(
@UserID [varchar](50),
@BookID [int],
@OrderBeginDate [datetime],
@OrderEndDate [datetime],
@info [int] output
)
AS
BEGIN
if exists(select * from Book where BookID=@BookID)
begin
if exists(select * from Order where UserID=@UserID and BookID=@BookID and Orderstate=2)
set @info=1
else
begin
if((select (BookTotalNum-Loanedcount) from Book where BookID=@BookID )<1)
set @info=2
else
begin
insert into Order(UserID,BookID,OrderBeginDate,OrderEndDate)
values (@UserID,@BookID,@OrderBeginDate,@OrderEndDate)
update Book set Loanedcount=Loanedcount+1 where BookID=@BookID
set @info=3;
end
end
end
else
set @info=4
END
那位大神能够帮忙解决一下不胜感激!
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Proc_OrderAdd]
(
@UserID [varchar](50),
@BookID [int],
@OrderBeginDate [datetime],
@OrderEndDate [datetime],
@info [int] output
)
AS
BEGIN
if exists(select * from Book where BookID=@BookID)
begin
if exists(select * from Order where UserID=@UserID and BookID=@BookID and Orderstate=2)
set @info=1
else
begin
if((select (BookTotalNum-Loanedcount) from Book where BookID=@BookID )<1)
set @info=2
else
begin
insert into Order(UserID,BookID,OrderBeginDate,OrderEndDate)
values (@UserID,@BookID,@OrderBeginDate,@OrderEndDate)
update Book set Loanedcount=Loanedcount+1 where BookID=@BookID
set @info=3;
end
end
end
else
set @info=4
END
那位大神能够帮忙解决一下不胜感激!
解决方案 »
- 求个简单思路。早有答案,早结帖。
- ASP.NET注册页面问题。只能注册数字。。中文或者英文都有错。不知道为什么
- 两个问题,为什么使用接口,new和override的区别
- 如何使用字定义名字空间?
- DataTable中的数据是7行,如何让Datagrid绑定后变10行,其中7行是数据,另外3行为空。
- DataTable SELECT 的Like的问题
- 一个让我郁闷的问题。devenv这个进程一直保持100%的cpu占用
- SqlDataReader能帮定到DataGrid控件吗
- 如何画数字图?(登陆验证那种)
- 请问如何在DataGrid中的DropDownList中绑定已选项???
- 根据地理位置获取经纬度
- 高手来下,这样的空指针你见过吗?
if exists(select * from [Order] where UserID=@UserID and BookID=@BookID and Orderstate=2)
其它地方也检查一下有没有加上
这句修改为:
if exists(select * from [Order] where UserID=@UserID and BookID=@BookID and Orderstate=2)
如果数据库字段你使用了数据库中的保留字,请使用[]将其包裹起来,以示区别
Order关键字