如何在c#中接收存储过程返回的值

本文关键字:存储过程 返回 | 更新日期: 2023-09-27 18:06:31

我的表格如下

emp_id, emp_name, emp_address, emp_salary, emp_rating

我想要得到上面所有的行…我编写的存储过程如下:

CREATE PROCEDURE [dbo].[fetch_empdata]
@empid int
AS
SELECT * 
FROM emptable
WHERE emp_id = @empid;
string connection = "Data Source=" + server + ";Initial Catalog=" + dbase + ";User ID=" + userid + ";Password=" + password;
conn = new SqlConnection(connection);
conn.Open();
SqlCommand cmd  = new SqlCommand(storedprocedure, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@empid", empid));
rdr = cmd.ExecuteReader();

有没有人能帮助我从emp表接收数据的命令?

如何在c#中接收存储过程返回的值

我想得到程序中给定的与empid相对应的所有列。

使用rdr读取返回的数据。紧接rdr = cmd.ExecuteReader()后添加:

while (rdr.Read())
{
    var firstName = rdr["firstName"];
    var lastName = rdr["lastName"];
    var employeeId = rdr["empId"];
    // etc.
}

你已经得到了这些在你的rdr对象

           while(rdr.Read())
            {
            //  var something=  rdr[0] you can access columns here
            }

和你的代码应该给出过程名,

SqlCommand cmd = new SqlCommand("fetch_empdata", conn);

rdr["NameOfColumn"]
rdr["NameOfColumn2"]
...