很棘手的问题,郁闷了一上午,请大家帮忙,在线等
在.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里面就能正常执行 
------解决方案--------------------存储过程贴出来看看?
------解决方案--------------------调用的方法根本就不对,你在哪指定存储过程名称了?把你调用的完整代码扔出来,还有存储过程原型