c# SqlCommand, XmlReader和输出参数
本文关键字:输出 参数 XmlReader SqlCommand | 更新日期: 2023-09-27 18:12:47
当我使用SqlCommand执行存储过程时,我有接收输出参数值的问题。我没有输出参数的问题,当我执行存储过程不是从c#代码,但从SQL Server管理工作室。下面是我的c#代码片段:
rest = -1;
XmlDocument res = new XmlDocument();
res.LoadXml("<Result><ErrCode>0</ErrCode></Result>");
using (SqlCommand sqlCmd = Params.SqlCn.CreateCommand())
{
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandText = "dbo.wss_doProductAdd_sp";
sqlCmd.Parameters.Clear();
sqlCmd.Parameters.Add(new SqlParameter("@quantity", ilosc));
sqlCmd.Parameters.Add(new SqlParameter("@addToLog", addToLog));
sqlCmd.Parameters.AddWithValue("@rest", rest).Direction = ParameterDirection.Output;
XmlReader xr = sqlCmd.ExecuteXmlReader();
XmlNode newNode = res.ReadNode(xr);
while (newNode != null)
{
res.DocumentElement.AppendChild(newNode);
newNode = res.ReadNode(xr);
}
xr.Close();
Params.SqlCn.Close();
我发现了这个:用c#从存储过程中读出参数有问题我添加了一行关闭reader,但它没有帮助。和一些用户从上面的链接使用LoadHits方法,我找不到它在MSDN或谷歌。
既然我的评论解决了你的问题,我想我应该把它作为一个答案:
我不明白你在哪里试图读取参数。您实际检查过sqlCmd.Parameters[2]吗?值,在执行查询后查看其值?