gpt4 book ai didi

c# - 从存储过程返回值

转载 作者:太空宇宙 更新时间:2023-11-03 20:09:56 25 4
gpt4 key购买 nike

我正在尝试获取从我的存储过程返回的数据。这是我尝试过的方法,绝对没有任何结果。

存储过程:

Declare @Submit_ID as int
Set @Submit_ID = (Select (Max(Sub_ID) + 1) from Sub_Details);
INSERT INTO.....
Return @Submit_ID

C# (2.0)

SqlConnection conn = null;
int subid;
try
{
conn = new SqlConnection(conn_string);
SqlCommand cmd = new SqlCommand("INSERT_INTO_MYDB", conn);
cmd.CommandType = CommandType.StoredProcedure;

SqlParameter p1 = new SqlParameter("@FirstName", SqlDbType.NVarChar, 255);
p1.Direction = ParameterDirection.Input;
p1.Value = txtFirstName.Text;
cmd.Parameters.Add(p1);

SqlParameter p2 = new SqlParameter("@LastName", SqlDbType.NVarChar, 255);
p2.Direction = ParameterDirection.Input;
p2.Value = txtLastName.Text;
cmd.Parameters.Add(p2);

SqlParameter pSub = new SqlParameter("@Sub_ID", SqlDbType.Int);
pSub.Direction = ParameterDirection.ReturnValue;

conn.Open();
cmd.ExecuteNonQuery();

subid = Convert.ToInt32(pSub);
}

最佳答案

您没有将返回参数添加到命令中:

SqlParameter pSub = new SqlParameter("@Sub_ID", SqlDbType.Int);
pSub.Direction = ParameterDirection.ReturnValue;

cmd.Parameters.Add(pSub); // <------------- add to command

conn.Open();
cmd.ExecuteNonQuery();

subid = Convert.ToInt32(cmd.Parameters["pSub"].Value);

关于c# - 从存储过程返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20664264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com