c# - 使用DataReader调用带参数的存储过程

标签 c# stored-procedures idatareader

我使用 IDataReader 调用不带参数的存储过程。当存在参数时,我没有找到如何执行此操作的示例。 IDataReader 是否处理存储过程的参数?

请举个例子。

最佳答案

处理参数的不是IDataReader,而是IDbCommand (使用 CreateParameter 方法)。然后您可以使用 ExecuteReader 获取该命令的阅读器方法。

我举了一个简单的例子:

private static void ExecuteCommand(IDbConnection conn)
{
    using (IDbCommand cmd = conn.CreateCommand())
    {
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "ProcedureName";
        IDataParameter param = cmd.CreateParameter();
        param.ParameterName = "@parameterName";
        param.Value = "parameter value";
        cmd.Parameters.Add(param);
        using (IDataReader reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                // get data from the reader
            }
        }
    }
}

关于c# - 使用DataReader调用带参数的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2953485/

相关文章:

c# - 通用消息处理程序

c# - 在 C# 中将 DWORD 编码为 long 还是 int?

mysql - NOT IN 不在 mysql 程序中工作

sql-server - 如何确定 SSRS 页面上使用的存储过程?

c# - 检查数据库记录映射中的空值

wcf - C#中如何将IDataReader转换为Stream

c# - 电子邮件支持部分,用户地址为 "From address"

c# - 在 MonoGame 中绘制矩形

c# - 如何处理从存储过程到 C# 代码的空值参数返回?