我在读取 C# 中的存储过程设置的值时遇到了问题。
我有一个存储过程,它将变量设置
@errorCode
@errorStr
为 0 并在存储过程失败时“失败”。@errorCode
我有一个调用存储过程的 C# 函数,并且值设置正确,但我无法@errorStr
通过我的 C# 代码读取值。我的代码如下
string op = null;
cmd.CommandText = "PopulateAnswers";
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter("@i_xmlreq", SqlDbType.Xml);
param.Value = xmltext;
param.Direction = ParameterDirection.Input;
cmd.Parameters.Add(param);
cmd.Connection = Conn1;
SqlDataReader dataReader = cmd.ExecuteReader();
if (dataReader.HasRows)
{
op = dataReader.GetValue(1).ToString();
if (op.CompareTo("Failed To set Answers") == 0)
{
WriteErrorLog("Failed to execute the stored Procedure");
return "1:Failed to execute stored procedure ";
}
else
{
return "0:success";
}
}
我在尝试读取数据时遇到错误。它表示您正在尝试读取一个不存在的值。但是当我将鼠标悬停在变量数据读取器上时,我能够正确地看到这些值。它位于 Datareader -> Results view -> [0] -> Non-static 下。