请问这个存储过程错在哪,查不出数据。
CREATE PROC GetByType(
@counts int,
@type nvarchar(8)
)
as
exec('
select top '+@counts+' r.ID,r.[Title],r.AddDate,
g.RegionName
from Rent as r,Region as g
where r.RegionID=g.RegionID and r.RentType= '+@type+'
order by r.AddDate desc,r.ID desc
')
GO
请问这个存储过程错在哪,查不出数据。谢谢!!!! --------------------编程问答-------------------- 大大大大大大大大大大大 --------------------编程问答-------------------- 语法应该没什么错误,建议检查一下数据,这样的条件是否有存在的数据! --------------------编程问答-------------------- +@counts+' r.ID
这里有问题吧 --------------------编程问答-------------------- r.id那里没错。错在RentType= '+@type+' ,它把@type当成列了,说列名无效。
找到了。RentType= '+@type+' --->RentType= '''+@type+'''
太久没写给忘了。呵呵。
--------------------编程问答-------------------- where r.RegionID=g.RegionID and r.RentType= '+@type+'
order by r.AddDate desc,r.ID desc
应该是
where r.RegionID=g.RegionID and r.RentType= '''+@type+'''
order by r.AddDate desc,r.ID desc
用两个''表示一个' --------------------编程问答-------------------- 怎么都在把存储过程当sql语句来拼哟?
冒这么多单引号出来?
补充:.NET技术 , ASP.NET