我有一个Database类,它抽象出SqlCommand的ExecuteNonQuery()和ExecuteReader().由于各地使用块包裹的SqlConnection和SqlCommand的,该CustomExecuteReader()被调用后SqlDataReader中被关闭,所以我不能在业务层面层读取SqlReaderResultSet.代码如下.谢谢大家的反馈.
public static SqlDataReader SqlReaderResultSet { get; set; }
public static SqlDataReader CustomExecuteReader(string storedProc)
{
using (var conn = new SqlConnection(ConnectionString))
{
var cmd = new SqlCommand(storedProc, conn) {CommandType = CommandType.StoredProcedure};
try
{
conn.Open();
SqlReaderResultSet = cmd.ExecuteReader();
}
catch (InvalidOperationException)
{
if (conn.State.Equals(ConnectionState.Closed))
conn.Open();
}
finally
{
conn.Close();
}
}
return SqlReaderResultSet;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |