C#执行存储过程异常C# codepublic static DataSet GetList(int Level,bool IsUp){SqlParameter[] par new
C#执行存储过程异常
C# codepublic static DataSet GetList(int Level,bool IsUp) { SqlParameter[] par =new SqlParameter[] { new SqlParameter("@Level",Level), new SqlParameter("@Sort",IsUp ? 1:0) }; return DbHelperSQL.RunProcedure("UP_My_Config_GetList", par, "ds"); }
单步执行到return DbHelperSQL.RunProcedure("UP_My_Config_GetList", par, "ds");这句抛出异常:
“My.DBUtility.DbHelperSQL”的类型初始值设定项引发异常。
存储过程:
SQL codeALTER PROCEDURE [dbo].[UP_My_Config_GetList] @Level int, @Sort int AS declare @strSql varchar(200) set @strSql='SELECT ID,cTitle,cKey,cValue,iLevel FROM [My_Config] where iLevel='+ cast(@Level as varchar(10)) if @Sort = 1 set @strSql=@strSql+' order by id desc' exec (@strSql)
上面是存储过程。
急啊。。
[解决办法]new SqlParameter("@Level",SqlDbType.Int, 4),
new SqlParameter("@Sort",SqlDbType.Int, 4)
par[0].value=Level;
par[1].value = IsUp ? 1:0;
这样试试呢
[解决办法]检查DbHelperSQL.RunProcedure方法
[解决办法]new SqlParameter("@Sort",IsUp ? 1:0)
这里为0 的时候会出问题 如果数据库里是 bit型就直接用new SqlParameter("@Sort",IsUp)
[解决办法]不好意思,刚才没看到下面。数据库里不是bit型就像二楼那样
或者
new SqlParameter("@Sort",IsUp ? 1:Convert.toInt32(0))
[解决办法]这个异常跟存储过程本身不会有什么关系。
把你的 DbHelperSQL.RunProcedure 贴出来。
[解决办法]在查询分析器支持存储过程看看
[解决办法]你试试看在sql server2005里的查询分析器里能不能正常执行?
[解决办法]检查DbHelperSQL.RunProcedure