c# 如何获得存储过程返回值,帮我看看哪里不对。谢谢

pop_punk 2008-10-16 01:23:11
写了个程序,就是死活得不到返回值,各位帮忙看下哪里出了错。
存储过程如下:

CREATE PROCEDURE P_test3

AS
BEGIN
return 800
END
GO

程序如下,调用DataAccess

public int Return_int(int a)
{
SqlParameter[] parms = new SqlParameter[1];
parms[0] = new SqlParameter("returns", SqlDbType.Int);
parms[0].Direction = ParameterDirection.ReturnValue;

if (DataAccess.ExecuteProcedure(@"P_test3", parms, @"Planet"))
{
int bb = Convert.ToInt32(parms[0].Value);
return bb;
}
else
{
return 0;
}
}
...全文
178 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
freeboy827 2008-10-16
  • 打赏
  • 举报
回复
你用返回首行首列的方法不就得到值了
bdqn_djj 2008-10-16
  • 打赏
  • 举报
回复
CREATE PROCEDURE P_test3

@参数1,
@参数2

AS
BEGIN
return 800
END
GO
bdqn_djj 2008-10-16
  • 打赏
  • 举报
回复
存储过程没有参数
程序里就能传参数了??
pop_punk 2008-10-16
  • 打赏
  • 举报
回复
SQLHELPER能用,但DATAACCESS不行,是不是DataAccess有限制?
pop_punk 2008-10-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lude8880 的回复:]
IDataParameter[] parameters = {
new SqlParameter("rval", SqlDbType.Int,4)
};
这个不是参数是什么,你把参数和返回值搞昏了
[/Quote]
大哥,你可以试试。那个是返回值。
lude8880 2008-10-16
  • 打赏
  • 举报
回复
IDataParameter[] parameters = {
new SqlParameter("rval", SqlDbType.Int,4)
};
这个不是参数是什么,你把参数和返回值搞昏了
pop_punk 2008-10-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 freeboy827 的回复:]
存储过程都没有参数,瞎 往里面写参数
连调试都没有就知道发帖子,
[/Quote]
我存储过程没错,是没参数,程序里的参数是返回值类型!不知你说我错在哪?
tian_fang 2008-10-16
  • 打赏
  • 举报
回复
汗啊!!!!
pop_punk 2008-10-16
  • 打赏
  • 举报
回复
有参数也是过了,就是不行,没参数用这个

private int r()
{
string conn = @"uid=sa;pwd=sa;server=.;database=Plant";
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = sqlconn;
cmd.CommandText = "P_test3";
cmd.CommandType = CommandType.StoredProcedure;
// 创建参数
IDataParameter[] parameters = {
new SqlParameter("rval", SqlDbType.Int,4)
};
// 将参数类型设置为 返回值类型
parameters[0].Direction = ParameterDirection.ReturnValue;
// 添加参数
cmd.Parameters.Add(parameters[0]);

sqlconn.Open();
// 执行存储过程并返回影响的行数
cmd.ExecuteNonQuery();
sqlconn.Close();
// 显示影响的行数和返回值
return Convert.ToInt32(parameters[0].Value);
}

也能得到返回值,关键是用DataAccess后就不行,为什么?
freeboy827 2008-10-16
  • 打赏
  • 举报
回复
存储过程都没有参数,瞎 往里面写参数
连调试都没有就知道发帖子,

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧