set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goALTER PROC [dbo].[PROC_SCORE]
@Class_ID varchar(10),
@Subject_Name nchar(10),
@Sortmethod int
As
declare @order varchar(50)
Set @order=
case @Sortmethod
when 0 then ' order by Student_ID '
when 1 then ' order by Student_ID DESC '
when 2 then ' order by ToTal_Score,Student_ID '
when 3 then ' order by ToTal_Score DESC,Student_ID DESC '
end exec ('Select Student_ID,Student_Name,Class_ID,Subject_Name,Term_Middle,Term_End,Peacetime_Score,ToTal_Score ,
[code=SQL]Style_Subject
from View_GetAllScore where Class_ID= '+ @Class_ID+' and Subject_Name= '+@Subject_Name+' order by Student_ID ')
[/code]
exec语句有错吗,where Class_ID= '+ @Class_ID+' and Subject_Name= '+@Subject_Name+'这句呢?
set QUOTED_IDENTIFIER ON
goALTER PROC [dbo].[PROC_SCORE]
@Class_ID varchar(10),
@Subject_Name nchar(10),
@Sortmethod int
As
declare @order varchar(50)
Set @order=
case @Sortmethod
when 0 then ' order by Student_ID '
when 1 then ' order by Student_ID DESC '
when 2 then ' order by ToTal_Score,Student_ID '
when 3 then ' order by ToTal_Score DESC,Student_ID DESC '
end exec ('Select Student_ID,Student_Name,Class_ID,Subject_Name,Term_Middle,Term_End,Peacetime_Score,ToTal_Score ,
[code=SQL]Style_Subject
from View_GetAllScore where Class_ID= '+ @Class_ID+' and Subject_Name= '+@Subject_Name+' order by Student_ID ')
[/code]
exec语句有错吗,where Class_ID= '+ @Class_ID+' and Subject_Name= '+@Subject_Name+'这句呢?
解决方案 »
- sp_executesql的问题
- 触发器变量的申明
- 请问t-sql基础有些了,但是数据库设计很没有感觉,想找本经典的数据库设计教程或网站来规范偶的数据库设计规范。
- SQLServer2005的问题CET
- 大家帮忙,这是什么意思save tran和rollback tran save_point
- 安装sql server出现错误,不能继续,请指点。
- <急救> SQL 偶而丢记录!
- "select convert(varchar(4),'000101') as code from table" 在Access中怎样写?
- 在SQL语句中如何把变量的值赋值给SQL语句并执行?
- SQL Server 能否在程序中自动安装好?
- 高手请进!sql2005生成sql2000脚本报错。
- sql,新手问题,谢谢
如果有错的话,建议先print一下,看看执行的sql是什么
set QUOTED_IDENTIFIER ON
goALTER PROC [dbo].[PROC_SCORE]
@Class_ID varchar(10),
@Subject_Name nchar(10),
@Sortmethod int
As
declare @order varchar(50)
Set @order=
case
when @Sortmethod=0 then ' order by Student_ID '
when @Sortmethod=1 then ' order by Student_ID DESC '
when @Sortmethod=2 then ' order by ToTal_Score,Student_ID '
when @Sortmethod=3 then ' order by ToTal_Score DESC,Student_ID DESC '
end exec (' Select Student_ID,Student_Name,Class_ID,Subject_Name,Term_Middle,Term_End,Peacetime_Score,ToTal_Score ,Style_Subject
from View_GetAllScore where Class_ID= '+ @Class_ID+' and Subject_Name= '+@Subject_Name+' order by Student_ID ')
@Class_ID varchar(10),
@Subject_Name nchar(10),
@Sortmethod int
As
declare @order varchar(50)
Set @order=
case @Sortmethod
when 0 then ' order by Student_ID '
when 1 then ' order by Student_ID DESC '
when 2 then ' order by ToTal_Score,Student_ID '
when 3 then ' order by ToTal_Score DESC,Student_ID DESC '
end exec ('Select Student_ID,Student_Name,Class_ID,Subject_Name,Term_Middle,Term_End,Peacetime_Score,ToTal_Score ,Style_Subject
from View_GetAllScore
where Class_ID = ' +@Class_ID+ ' and ' +'Subject_Name=' +@Subject_Name + @order)
set QUOTED_IDENTIFIER ON
goALTER PROC [dbo].[PROC_SCORE]
@Class_ID varchar(10),
@Subject_Name nchar(10),
@Sortmethod int
As
declare @order varchar(50)
Set @order=
case
when @Sortmethod=0 then ' order by Student_ID '
when @Sortmethod=1 then ' order by Student_ID DESC '
when @Sortmethod=2 then ' order by ToTal_Score,Student_ID '
when @Sortmethod=3 then ' order by ToTal_Score DESC,Student_ID DESC '
end exec ('Select Student_ID,Student_Name,Class_ID,Subject_Name,Term_Middle,Term_End,Peacetime_Score,ToTal_Score ,Style_Subject
from View_GetAllScore where Class_ID= '+ @Class_ID+' and Subject_Name= '+@Subject_Name+@order)
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goALTER PROC [dbo].[PROC_SCORE]
@Class_ID varchar(10),
@Subject_Name nchar(10),
@Sortmethod int
As
declare @order varchar(50)
Set @order=
case
when @Sortmethod=0 then ' order by Student_ID '
when @Sortmethod=1 then ' order by Student_ID DESC '
when @Sortmethod=2 then ' order by ToTal_Score,Student_ID '
when @Sortmethod=3 then ' order by ToTal_Score DESC,Student_ID DESC '
else ''
end exec ('Select Student_ID,Student_Name,Class_ID,Subject_Name,Term_Middle,Term_End,Peacetime_Score,ToTal_Score ,Style_Subject
from View_GetAllScore where Class_ID= '+ @Class_ID+' and Subject_Name= '+@Subject_Name+@order)
我传的参数是
10752p <-有错误 Class_ID= '+ @Class_ID+' ?
'ARMj技术'
0
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goALTER PROC [dbo].[PROC_SCORE]
@Class_ID varchar(10),
@Subject_Name nchar(10),
@Sortmethod int
As
declare @order varchar(50)
Set @order=
case
when @Sortmethod=0 then ' order by Student_ID '
when @Sortmethod=1 then ' order by Student_ID DESC '
when @Sortmethod=2 then ' order by ToTal_Score,Student_ID '
when @Sortmethod=3 then ' order by ToTal_Score DESC,Student_ID DESC '
else ''
end print('Select Student_ID,Student_Name,Class_ID,Subject_Name,Term_Middle,Term_End,Peacetime_Score,ToTal_Score ,Style_Subject
from View_GetAllScore where Class_ID= '''+ @Class_ID+''' and Subject_Name= ''''+@Subject_Name+@order)改成上面的就可以了,因为你传的是字符串,生成的sql要加单引号
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goALTER PROC [dbo].[PROC_SCORE]
@Class_ID varchar(10),
@Subject_Name nchar(10),
@Sortmethod int
As
declare @order varchar(50)
Set @order=
case
when @Sortmethod=0 then ' order by Student_ID '
when @Sortmethod=1 then ' order by Student_ID DESC '
when @Sortmethod=2 then ' order by ToTal_Score,Student_ID '
when @Sortmethod=3 then ' order by ToTal_Score DESC,Student_ID DESC '
else ''
end print('Select Student_ID,Student_Name,Class_ID,Subject_Name,Term_Middle,Term_End,Peacetime_Score,ToTal_Score ,Style_Subject
from View_GetAllScore where Class_ID= '''+ @Class_ID+''' and Subject_Name= '''+@Subject_Name+''''+@order)