区别
SqlDataAdapter,一次性把数据加载到内存中,适用于加载少量数据
SqlDataReader,只能一行一行地读取数据,适用于加载大量数据,连接不能断开,使用完立刻关闭
使用
SqlDataAdapter的使用
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
{
using (SqlDataAdapter adapter = new SqlDataAdapter(sql, connectionString))
{
DataTable dt = new DataTable();
adapter.SelectCommand.Parameters.AddRange(parameters);
adapter.Fill(dt);
return dt;
}
}
SqlDataReader的使用
using (SqlConnection conn = new SqlConnection(SqlHelper.connectionString))
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
int count = reader.FieldCount;
string id = reader["ID"].ToString();
string name = reader["Name"].ToString();
}
}
}
}