DataTable的一些介绍

DataTable 为内存中的表并不是 数据库中的表 在经过“持久化”之后 可以转化为数据库中的表

–       持久化到数据库可以使用dataAdapter.Update的方法。

 

创建DataTable对象的方法:

 

1.通过构造函数创建

无参数构造函数

DataTable table1=New DataTable();

有参数构造函数

DataTable table1=New DataTable(string tableName) ;

 

2. 通过DataSet获取DataTable :

DataTable table1=DataSet.Tables[0]

DataTabletable1=DataSet.Tables[“tableName”]

 

3. 通过已有的DataTable的Clone()方法得到新的DataTable对象

•         新表与现有表结构相同

•         这在实际中也是常用的

DataTable table2=table1.Clone(); 克隆的只是表结构 并不包含数据

而DataTabletable2=table.Copy();是复制表一的所有内容包括结构与数据

 

4. 通过DataAdapter填充DataSet对象,在DataSet中自动生成一个与查询结果集结构与记录相同的DataTable对象

    DataAdapter da=new DataAdapter();

    DataSet ds=new DataSet(); 

  

DataTable的Columns属性和Rows属性

Columns属性:表示DataTable对象的  DataColumn(数据列的意思)列对象的集合.

Rows属性:  表示DataTable对象的DataRow(数据行的意思)行 对象的集合.

两个属性最常用的方法Add() Clear( )

两个属性表示数组,后面也可以加下标或行或列的名称表示某个行或某个列

 

DataColumn的构造函数

DataColumn(“Name ”, 列的系统类型名 )

–       Name:表示列的名称

–       列的系统类型名:因为DataTable是内存中的表而非数据库中的表,因此它的DataColumn的数据类型是System数据类型。可以用以下两种方式获得:

•         typeof(系统类型名称) 设置 如:

DataColumn c1 = newDataColumn("id",typeof (int));

•         Type.GetType(“System.类型名”) 设置

DataColumn c2 = newDataColumn("name",Type .GetType ("System.String"));

 

 

  1. Ordinal:返回DataColumn在DataTable对象的列集合中的位置,该属性只读,如果DataColumn不在DataTable对象的Column集合中,返回-1

 

  1. 设置是否允许为空    AllowDBNull
  2. 设置唯一性   Unique
  3. 只读属性 ReadOnly
  4. 最大长度 MaxLength
  5. 设置为自动增长的标识列

①    AutoIncrement  是否允许自动增长

②    AutoIncrementSeed 自动增长的种子(初始值)

③    AutoIncrementStep 自动增长的步长

  1. 设置默认值属性 DefaultValue

 

创建新行:

DataRow r1 =t1.NewRow ();

•         为行中某个列逐个赋值:

–       行对象名称[列的索引值] =表达式;

–       行对象名称[“列的name名”]=表达式;

 

 

DataTable的LoadDataRow 方法:

 LoadDataRow(Object[] values, Boolean  fAcceptChanges)

–       作用:查找和更新特定行。如果找不到任何匹配行

                 则使用给定值创建新行。

–       通过调用该方法可以向表中添加一整行数据,不需

    要逐个字段的赋值操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章