通过今天的学习,和随后的练习,掌握了使用DataTable在ADO.net中创建表对象,并在已经创建的表中添加行,添加列
下面是课上通过DataTable创建的表以及一些简单的操作的练习: //创建一个两列的表,并查看列名的数据类型
//DataTable table1 = new DataTable();
DataColumn dc1 = new DataColumn("ID", Type.GetType("System.Int32"));
dc1.AutoIncrement = true;//确认是自动增长列
dc1.AutoIncrementSeed = 10000;//从10000开始增长,初始值为10000
dc1.AutoIncrementStep = 1;//每次增长1,步长为1
table1.Columns.Add(dc1);
//另一种写法;
DataColumn dc2 = new DataColumn();
dc2.AllowDBNull = false;//不允许列中有空值
dc2.MaxLength = 10;//列中最大长度为10
dc2.Unique = true;//name列不允许重复
dc2.ColumnName = "NAME";
dc2.DataType = typeof(string);
table1.Columns.Add(dc2);
table1.PrimaryKey = new DataColumn[] { dc1 };//主键是dc1(id);
//查看各列的数据类型
Response.Write(table1.Columns.Count.ToString());//统计列数
Response.Write("<br/>" + table1.Columns["ID"].ColumnName + ";" + table1.Columns[0].DataType.ToString());
Response.Write("<br/>" + table1.Columns[1].ColumnName + ";" + table1.Columns[1].DataType.ToString());
// DataTable table2 = table1.Clone();//克隆表一的结构,
// DataTable table3 = table1.Copy();//复制表一的所有内容,包括结构和数据;
完成简单的操作,开始练习对创建好的表的内容执行操作:(比如添加,删除数据等)
DataRow row = table1.NewRow();
row["NAME"] = "张三";
table1.Rows.Add(row);
DataRow row1 = table1.NewRow();
row1["NAME"] = "李四";
table1.Rows.Add(row1);
DataRow row2 = table1.NewRow();
row2["NAME"] = "赵六";
table1.Rows.Add(row2);
object[] objs = new object[] { null, "王五" };//此处注意null为占位用,否则自增不生效
table1.LoadDataRow(objs, true);
object[] obj1 = new object[] { null, "田七" };
table1.LoadDataRow(obj1, true);//这样添加会被认为是原始数据,RejectChanges()不会回滚掉。
//修改行的内容
//table1.Rows[1]["NAME"] = "钱贵";
//标记删除第0 行的内容
//table1.Rows[0].Delete();
//彻底删除第一行的内容
//table1.Rows.RemoveAt(1);
//清除所有数据
//table1.Clear();
为了使添加效果可视化,可以使用GridView控件显示在页面上,
this.GridView1.DataSource = table1;
this.GridView1.DataBind();
另外今天的作业有点难度,研究中……