ADO.NET还是比较常用的,于是我研究了一下ADO.NET数据表,ADO.NET数据表(DataTable)是指内存数据表,在这里拿出来和大家分享一下,希望对大家有用。它包含一个表示该表的模式的列集合(ColumnsCollection)。一个数据表还包含有一个列集合(RowsCollection),表示该表所拥有的数据。它记得最初的的状态以及当前的状态,并跟踪已经发生的各种变化。要使用数据表,用户必须包含System.Data。
创建ADO.NET数据表
DataTable有两个构造函数:
public DataTable()
public DataTable(string tableName)
- 1.
- 2.
- 3.
给ADO.NET数据表添加列
DataTable包含一个DataColumn对象集合。这个列集合定义了该表的结构。要给这个集合添加一个新列,可以使用这个集合的Add方法。在下面的例子中,我们使用ColumnsCollection类的Add方法,给一个数据表添加了3列;这种方法指定了ColumnName和DataType属性。
DataColumn dc = null;
DataTable dt = new DataTable("test");
dc = dt.Columns.Add("CustID",System.Type.GetType("System.Int32") );
dc = dt.Columns.Add("CustomerNameLast", System.Type.GetType("System.String") );
dc = dt.Columns.Add("CustomerNameFirst", System.Type.GetType("System.String") );
dc = dt.Columns.Add("Purchases", System.Type.GetType("System.Double") );
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
DataTable上的ColumnsCollection的Add方法有两个重载(overload)函数:
Public DataColumn Add(String columnname, Type type)
Public DataColumn Add(String columnname)
- 1.
- 2.
表达式列
ADO.NET还允许用户创建和定义表达式列。ADO+中的表达式用于进行:过滤, 计算, 汇总列信息。要创建一个表达式列,需要将DataType属性设置为适合该表达式返回数值的类型;然后将Expression属性设为一个有效的表达式:
DataColumn dc = New DataColumn;
dc.DataType = System.Type.GetType("System.Currency");
dc.Expression = "total * .086";
- 1.
- 2.
- 3.
你还可以使用Add方法来创建一个表达式列。例如,下面的代码添加了一列,根据客户购买金额的10%计算折扣。这个表达式将名为“Purchases”的列乘以10%。
DataColumn dc = New DataColumn;
dc= dt.Columns.Add("rectg", System.Type.GetType("System.Double"), "total * 0.1");
- 1.
- 2.
当这个表加入数据后,这个列的数值将是total列中数值的10%
自动增量列
#T#DataColumn 的另一个特性是其能够作为自动增量列的能力。自动增量列在添加新列时,自动增加该列中的数值。要创建一个自动增量列,需要将这个列的 AutoIncrement属性设为真(true)。一旦设置了这个属性,该列开始时将使用该列的AutoIncrementSeed属性中定义的数值。在添加了一列后,自动增量列的数值将按该列的AutoIncrementStep属性中的数值作为步长递增。
dc = dt.Columns.Add("CustID",System.Type.GetType("System.Int32") );
dc.AutoIncrement = true;
dc.AutoIncrementSeed = 1;
dc.AutoIncrementStep = 1;
- 1.
- 2.
- 3.
- 4.