日期:2010-01-04  浏览次数:20539 次

DataTable表示内存中的一个数据表,而非数据库中的表。在持久化到数据库之前,DataTable的任何变化是不会影响数据库的。
持久化到数据库可以使用dataAdapter.Update的方法。
DataTable对象包括:
1.多个DataColumn对象
2.多个DataRow对象。
首先要创建DataTable对象
DataTable table1=New DataTable() ;
向DataTable对象中添加列对象
DataColumn colUserID = new DataColumn("USER_ID", Type.GetType("System.Int"));
table1.Columns.Add(colCurrency);
列的系统类型名:因为DataTable是内存中的表而非数据库中的表,因此它的DataColumn的数据类型是System数据类型。可以用以下两种方式获得:
typeof(系统类型名称) 设置 如:
DataColumn c1 = new DataColumn("id",typeof (int));
Type.GetType(“System.类型名”) 设置
DataColumn c2 = new DataColumn("name",Type .GetType ("System.String"));
DataColumn dc2 = new DataColumn();
 dc2.AllowDBNull = false; //不允许为空
dc2.MaxLength = 10; //最大长度是10
dc2.Unique = true; //name列不重复′
table1.PrimaryKey = new DataColumn[] { dc1 };//设置主键,主键是id
DataRow[] rows = table1.Select(" id>=1000 and name like '张%'");//查找
table1.AcceptChanges();              //接收回滚
// Response.Write(table1.Rows[0].RowState.ToString());
table1.Rows[0]["name"] = "张国荣";     //AcceptChanges()和RejectChanges()之间写修改的语句
Response.Write(table1.Rows[0].RowState.ToString());
table1.RejectChanges(); //回滚
table1.Rows[1]["name"] = "关羽";//修改
table1.Rows[2].Delete();        //删除,只删除状态不删除数据
table1.Rows.RemoveAt(2);        //删除,彻底删除