首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#执行存储过程错误

2012-03-23 
C#执行存储过程异常C# codepublic static DataSet GetList(int Level,bool IsUp){SqlParameter[] par new

C#执行存储过程异常

C# code
public 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 code
ALTER 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

热点排行