ASP.NET中如何执行与获取带有输出参数的存储过程
急!!!一个案例中需要在执行存储过程后返回一个值,程序再根据返回的值进行相应的操作,现在的问题是在我在执行存储过程时该怎么获取存储过程返回的值,又该如果讲返回的值显示到页...
急!!!
一个案例中需要在执行存储过程后返回一个值,程序再根据返回的值进行相应的操作,现在的问题是在我在执行存储过程时该怎么获取存储过程返回的值,又该如果讲返回的值显示到页面上
源码地址:http://0288888888.com/test.html
有提供正常方法的请Q我:284678469 或者邮件 284678469@qq.com 展开
一个案例中需要在执行存储过程后返回一个值,程序再根据返回的值进行相应的操作,现在的问题是在我在执行存储过程时该怎么获取存储过程返回的值,又该如果讲返回的值显示到页面上
源码地址:http://0288888888.com/test.html
有提供正常方法的请Q我:284678469 或者邮件 284678469@qq.com 展开
4个回答
展开全部
使用Parameter定义过程所需的参数,在输出参数定义的时候使用比如
SqlParameter para = new SqlParameter("@count", SqlDbType.Int);
para.Direction = ParameterDirection.Output;//这样定义,如果是在数组中请自行变通
//下面是我调用过程返回SqlDataReader的一个方法,可以按需要自己实现,供参考
//procname即调用的过程名称
//如果执行语句是用ExecuteNonQuery(),不用返回DataReader则可以定义为void
public SqlDataReader pageproc(string procname, params SqlParameter[] para)
{
SqlCommand scom = new SqlCommand(procname, con);
scom.CommandType = CommandType.StoredProcedure;
scom.Parameters.AddRange(para);
con.Open();
SqlDataReader sdr = scom.ExecuteReader(CommandBehavior.CloseConnection);
//输出参数须在SqlDataReader关闭之后才有返回,如果调用scom.Paramenters.Clear();则会使输出参数获取不到
return sdr;
}
调用了过程之后获取过程的输出参数的值,以刚才定义的那个参数为例
int count=(int)para.Value;//如果返回的是DataReader,则要在DataReader关闭之后才能获取到
另
http://zhidao.baidu.com/question/206415004.html
SqlParameter para = new SqlParameter("@count", SqlDbType.Int);
para.Direction = ParameterDirection.Output;//这样定义,如果是在数组中请自行变通
//下面是我调用过程返回SqlDataReader的一个方法,可以按需要自己实现,供参考
//procname即调用的过程名称
//如果执行语句是用ExecuteNonQuery(),不用返回DataReader则可以定义为void
public SqlDataReader pageproc(string procname, params SqlParameter[] para)
{
SqlCommand scom = new SqlCommand(procname, con);
scom.CommandType = CommandType.StoredProcedure;
scom.Parameters.AddRange(para);
con.Open();
SqlDataReader sdr = scom.ExecuteReader(CommandBehavior.CloseConnection);
//输出参数须在SqlDataReader关闭之后才有返回,如果调用scom.Paramenters.Clear();则会使输出参数获取不到
return sdr;
}
调用了过程之后获取过程的输出参数的值,以刚才定义的那个参数为例
int count=(int)para.Value;//如果返回的是DataReader,则要在DataReader关闭之后才能获取到
另
http://zhidao.baidu.com/question/206415004.html
展开全部
SqlCommand cmd = new SqlCommand("sqlConnectionString");
cmd.Parameters.Add(new SqlParameter("a","true"));
cmd.Parameters["a"].Direction = System.Data.ParameterDirection.Output;
cmd.ExecuteNonQuery();
string a = cmd.Parameters["a"].ToString();
没看明白你写的代码,你根据这个改改吧,
主要的设置:cmd.Parameters["a"].Direction = System.Data.ParameterDirection.Output;
cmd.Parameters.Add(new SqlParameter("a","true"));
cmd.Parameters["a"].Direction = System.Data.ParameterDirection.Output;
cmd.ExecuteNonQuery();
string a = cmd.Parameters["a"].ToString();
没看明白你写的代码,你根据这个改改吧,
主要的设置:cmd.Parameters["a"].Direction = System.Data.ParameterDirection.Output;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
获取返回的值
m_sqlCommand.ExecuteNonQuery();这样肯定不行
存储过程有返回值的话应该调用
SqlDataReader reader = m_sqlCommand.ExecuteReader();
然后用reader取得存储过程返回的值
m_sqlCommand.ExecuteNonQuery();这样肯定不行
存储过程有返回值的话应该调用
SqlDataReader reader = m_sqlCommand.ExecuteReader();
然后用reader取得存储过程返回的值
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你什么意思?上面的方法返回了值,在页面上调用方法就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询