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