日期:2014-05-20  浏览次数:20763 次

很棘手的问题,郁闷了一上午,请大家帮忙,在线等
在.net里面是这样调用存储过程的,@sql要返回sql查询语句.可总是报错,是我这段代码有问题吗?
SqlParameter[]   para   =   {
                                                                            new   SqlParameter( "@sprovince ",   sprovince),
                                                                            new   SqlParameter( "@stype ",   type),
                                                                            new   SqlParameter( "@syear ",   year),
                                                                            new   SqlParameter( "@sql ",   SqlDbType.VarChar,   400,   ParameterDirection.Output,
                                                                            false,   0,   0,   string.Empty,   DataRowVersion.Default,   m_DBNull)
                                                            };
错误是这样提示的:
将   nvarchar   值   'select   [syear],min(case   stable   when   '本科一批 '   then   imark   end)[本科一批],min(case   stable   when   '本科二批 '   then   imark   end)[本科二批],min(case   stable   when   '本科a三批 '   then   imark   end)[本科a三批]   from   markline   where   sprovince= '黑龙江 '   and   stype= '理科 '     group   by   [syear],sprovince   order   by   [syear]   desc     '   转换为数据类型为   int   的列时发生语法错误。  
我把这段   sql语句放在   sqlserver里面就能正常执行


------解决方案--------------------
存储过程贴出来看看?
------解决方案--------------------
调用的方法根本就不对,你在哪指定存储过程名称了?把你调用的完整代码扔出来,还有存储过程原型