dan*_*tch 10 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
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果您使用的是企业库,则此样式适用于您:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
// ...
SqlDatabase db = new SqlDatabase("YourConnectionString");
DbCommand cmd = db.GetStoredProcCommand("YourProcName");
cmd.Parameters.Add(new SqlParameter("YourParamName", "param value"));
using (IDataReader dr = db.ExecuteReader(cmd))
{
while (dr.Read())
{
// do something with the data
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13724 次 |
| 最近记录: |