有没有办法在C#中按名称从存储过程中读取一些自定义返回参数?迭代方式如下:
SqlDataReader rdr = cmd.ExecuteReader();
if (rdr.HasRows)
{
while (rdr.Read())
{
if (rdr[0] != null)
{
string PARAM1 = rdr[0].ToString();
}
if (rdr[1] != null)
{
string PARAM2 = rdr[1].ToString();
}
if (rdr[2] != null)
{
string PARAM3 = rdr[2].ToString();
}
if (rdr[3] != null)
{
string PARAM4 = rdr[3].ToString();
}
}
}
rdr.Close();
程序返回如下内容:
SELECT
'value1' AS 'PARAM1',
199 AS 'PARAM2',
'value2' AS 'PARAM3',
'value3' AS 'PARAM4'
RETURN 0
..但是这个解决方案不能满足于通过名称或类型获得参数。
答案 0 :(得分:1)
使用参数名称并获取如下值:
Param4 = rdr["@YourOutputParameter"].Value
可能需要将其强制转换为您期望的类型,以便使用字符串:
Param4 = rdr["@YourOutputParameter"].Value.ToString();