ADO.NET中的DataSet和DataAdapter_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > ADO.NET中的DataSet和DataAdapter

ADO.NET中的DataSet和DataAdapter

 2015/1/9 10:35:22  大黑兔  程序员俱乐部  我要评论(0)
  • 摘要:DataSet和DataTableDataSet是一个数据集合,存储在内存中,算是一个临时的数据库。个人觉得,不是太常用了,DataTable或者直接用List<model>存数据比这个好。还是也说一下使用方法吧。DataSetds=newDataSet("school");DataTabledt=newDataTable("stu");dt.columns.Add("列名",typeof(string));//注意DataRowdr=newDataRow();不能这样用,为什么呢
  • 标签:.net DataSet net ASE

DataSet和DataTable

break: normal; text-align: left; margin: 0px 0px 0px 40px; letter-spacing: normal; line-height: 21px; background-color: #ffffff; text-indent: 0px; -webkit-text-stroke-width: 0px; padding: 0px;">

DataSet是一个数据集合,存储在内存中,算是一个临时的数据库。

个人觉得,不是太常用了,DataTable或者直接用List<model>存数据比这个好。

还是也说一下使用方法吧。

 

DataSet ds =new DataSet("school");
DataTable dt = new DataTable("stu");
dt.columns.Add("列名",typeof(string));

 

//注意DataRow dr =new DataRow();  不能这样用,为什么呢?看下面绿字

/*

   DataRow的构造方法是 protected internal的,你是调用不到的。

  但是跟DataRow同一个程序集的 DataTable可以调。

*/

DataRow dr = dt.NewRow();
dr["列名"] ="xxx";
dt.Rows.Add(dr);
ds.Tables.Add(dt);

DataAdapter

该类是一个适配器模式的应用。那么这个适配器究竟适配了什么呢?

DataAdapter适配了DataTable和DataReader返回值的适配。

 

string conn ="";   //连接字符串
string sql ="";       //sql语句
/*DataAdapter是对 Connection、Command、以及DataReader的封装 */
DataAdapter da =new DataAdapter(sql,conn);
DataTable dt =new DataTable();
/*           *****说明******
  1. 先构造好列,再填充的话,会提高效率。
  2. Fill(0,10,dt);是一种分页方式,适用于小项目。
      去一页,读全部!
*/
da.Fill(0,10,dt);

推荐使用DataReader

1.一种常用获取表的方式

//简写哈,简写
DataSet ds =new DataSet();
DataAdapter da =new DataAdapter(SQL语句,连接字符串)
da.Fill(ds);
//其实,真的做项目,这种方式获取表并不推荐。
DataTable dt =ds.Tables[0];

2.推荐做法

//还是简写哈,简写
using(Connection conn =new Connection("连接字符串"))
{
     using(Command cmd =conn.CreateCommand())
    {
           using(DataReader reader = cmd.ExecuteReader())
           {
                DataTable dt =new DataTable();
                dt.Load(reader);
           }
    }     
}

DataSet在何种情况下使用?

1.C/S模式下 

在C/S模式下使用DataSet。

clipboard[7]

2.在B/S模式下 

在B/S模式下使用DataSet。B/S模式下(ASP.NET)使用DataSet,有1000个请求,

Web服务器内存中就会有1000个DataSet。是不是要用,还是自己取舍。

clipboard[8]DBA73577545332837" data-media-type="image" />

 

 

   

 

发表评论
用户名: 匿名