我使用 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/