ASP.NET MVC3 利用存储过程实现查询功能的问题

publicDataSetusuSelProc(stringstorename,stringConn,string[]strParams,object[]strValue... public DataSet usuSelProc(string storename, string Conn, string[] strParams, object[] strValues)
{
DataSet ds = new DataSet();
SqlConnection MyConn = new SqlConnection(StaticDataConnClass.getSQLDataConn(Conn));
try
{
if ((strParams != null) && (strParams.Length != strValues.Length))
{
ds = null;
}
else
{
MyConn.Open();
SqlDataAdapter MyAd = new SqlDataAdapter(storename, MyConn);//设置SQL命令
MyAd.SelectCommand.CommandType = CommandType.StoredProcedure;//调用存储过程

if (strParams != null)
{
for (int i = 0; i < strParams.Length; i++)
MyAd.SelectCommand.Parameters.AddWithValue(strParams[i], strValues[i]);
}
SqlParameter rst = MyAd.SelectCommand.Parameters.Add("@result", SqlDbType.Int);
rst.Direction = ParameterDirection.Output;

MyAd.Fill(ds, "newtable");

}
}
catch
{
ds = null;
}
finally
{
MyConn.Close();
MyConn.Dispose();
}
return ds;
}

以上代码为按照设定条件string[] strParams,和你输入符合条件的值object[] strValues来进行查询的一个利用存储过程查询SQL SERVER的通用方法。我在视图层输入正确的数值可以查询到相应的信息,但是我输入错误的数值时,程序在在另外一个调用该方法的类中报异常,说是为null。所以我想问一下,上面的方法输入的是错误的值时,返回的ds是空值吗?还有下面这部分代码不知道什么意思
MyConn.Open();
SqlDataAdapter MyAd = new SqlDataAdapter(storename, MyConn);//设置SQL命令
MyAd.SelectCommand.CommandType = CommandType.StoredProcedure;//调用存储过程

if (strParams != null)
{
for (int i = 0; i < strParams.Length; i++)
MyAd.SelectCommand.Parameters.AddWithValue(strParams[i], strValues[i]);
}
SqlParameter rst = MyAd.SelectCommand.Parameters.Add("@result", SqlDbType.Int);
rst.Direction = ParameterDirection.Output;

MyAd.Fill(ds, "newtable");
展开
 我来答
cocopark1982
2011-06-19
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
错误的数值当然 会报异常了呀
上面的方法输入的是错误的值时,返回的ds是空值吗 ,是的
if (strParams != null)
{
for (int i = 0; i < strParams.Length; i++)
MyAd.SelectCommand.Parameters.AddWithValue(strParams[i], strValues[i]); //设置存储过程 的参数和值
}
SqlParameter rst = MyAd.SelectCommand.Parameters.Add("@result", SqlDbType.Int);
rst.Direction = ParameterDirection.Output; //存储过程的 output参数 @result

MyAd.Fill(ds, "newtable"); //把结果集放到 ds中去
shunou37
2011-06-19
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
3.能够进行单元测试,保证功能的实现。缺点: 1.没有那么多的现成控件使用,三、MVC设计模式的扩展 通过在ASP.NET中的MVC模式编写的,具有极其良好的可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式