日期:2014-05-18  浏览次数:20648 次

简单的存储过程,看看错在哪里呢?
ALTER PROCEDURE get_paper_id
@course varchar(30),
@year numeric(4,0),
@semester varchar(8),
@paper_name varchar(100)
AS
declare @sql nvarchar(100)
declare @id varchar(10)
begin
set @sql='select @id=id from paper where 课程='''+@course+''' 
and 年份='''+@year+''' and 学期='''+@semester+''' and 试题='''+@paper_name+''''
exec sp_executesql @sql
end
RETURN @id

------解决方案--------------------
探讨
ALTER PROCEDURE get_paper_id
@course varchar(30),
@year numeric(4,0),
@semester varchar(8),
@paper_name varchar(100)
AS
declare @sql nvarchar(100)
declare @id varchar(10)
begin
set @sql='sele……

------解决方案--------------------
探讨
数据库里的年份是numeric(4,0)类型的呀,把它变varchar了,还能对应吗。况且我照你改的,也没能执行成功。我能保证能连接好数据库,且数据库中对应的表对应的属性都无误。