首页 > 学院 > 开发设计 > 正文

c#之SqlDataAdapter和SqlDataReader

2019-11-09 13:37:48
字体:
来源:转载
供稿:网友

  System.Data.SqlClient.SqlDataReader

  System.Data.SqlClient.SqlDataAdapter

从机制上区分:

SqlDataReader 查询数据始终是在数据库中查询,在使用该对象进行查询时connection始终处于占用状态,无法进行其它操作。

SqlDataAdapter对象在进行查询时是一次将所有的查询结果加载至内存,并关闭连接。

从具体操作上进行区分:

      #region 执行sql返回一个结果集        public static DataTable ExecuteDataTable(string sqlText, params SqlParameter[] parameters)        {            using (SqlDataAdapter adapter = new SqlDataAdapter(sqlText, GetConnectionString()))            {                DataTable dt = new DataTable();                adapter.SelectCommand.Parameters.AddRange(parameters);                adapter.Fill(dt);                return dt;            }        }        #endregion        #region 使用SqlDataReader查询结果集        public static SqlDataReader ExecutreReader(String sqlText, params SqlParameter[] parameter)        {            using (SqlConnection connection = new SqlConnection(GetConnectionString()))            {                SqlCommand cmd = connection.CreateCommand();                connection.Open();                cmd.CommandText = sqlText;                cmd.Parameters.AddRange(parameter);                SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);                return reader;            }        }        #endregion

                     


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表