110,545
社区成员
发帖
与我相关
我的任务
分享
public IEnumerable<T> ExecuteQuery<T>(string sql, DbParameter[] ps, Func<DbDataReader, T> proc)
{
var str = "Data Source=.;Initial Catalog=TestDB;Integrated Security=True";
using (DbConnection con = new SqlConnection(str))
{
con.Open();
var cmd = con.CreateCommand();
cmd.CommandText = sql;
if (ps != null)
cmd.Parameters.AddRange(ps);
var reader = cmd.ExecuteReader();
while (reader.Read())
yield return proc(reader);
}
}
var list = ExecuteQuery(sql, null, reader =>
{
return new Class1 { ID = (int)reader["ID"], Name = (string)reader["Name"], Data = (string)reader["Data"] };
});