【发布时间】:2013-08-10 07:01:40
【问题描述】:
我有以下两种方法:
internal static SqlDataReader SelectData(string sql)
{
using (var sqlConnection = new SqlConnection(Constant.ConnectionString))
{
sqlConnection.Open();
var sqlCommand = new SqlCommand(sql, sqlConnection);
var dataReader = sqlCommand.ExecuteReader();
return dataReader;
}
}
============
并将此方法用作:
var dataReader = SelectData(---some sql ---);
private void AddData(dataReader)
{
while (dataReader.Read())
{
Employee e = new Employee();
e.FirstNamei = dataReader["Name"].ToString();
}
dataReader.Close();
}
我知道我们可以合并这两种方法,但我正在寻找更好的方法来写这个,或者这会导致一些问题??
【问题讨论】:
-
您提到您在第二种方法中使用了第一种方法,但事实并非如此。这两种方法似乎彼此无关,所以你的问题仍然不清楚。顺便说一句,never use empty
catch-blocks. -
@TimSchmelter .. 没错..我编辑了..
-
为什么不使用企业库进行数据访问?
-
@T.S. - 我很惊讶Enterprise Library 仍然保持不变。以前叫shiznit,好久没听说了。
-
不只是维护。它最近有新版本。它比 EF 运行得更快,并且具有缓存功能。我认为,比在每个页面上创建连接更值得实施。