DataTable类将关系数据表示为表格形式。在创建DataTable之前,必须包含System.Data名称空间。ADO.NET提供了一个DataTable类来独立创建和使用数据表。它也可以和DataSet一起使用。 最初,当创建DataTable时,它没有表模式。我们可以通过向表中添加列和约束来创建表模式。在定义表模式之后,可以向表中添加行。
步骤
1) 通过DataSet的Tables对象的Add方法创建DataTable对象,例如:
DataSet dataset = new DataSet();
DataTable table = dataset.Tables.Add("MyTableName");
2) 设置DataTable对象的主键
关系数据库中的表一般都有一个主键,用来惟一标识表中的每一行记录。通过DataTable对象的PrimaryKey属性可以设置Datatable的主键。主键可以是一个或者多个DataColumn对象组成的数组。例如:
DataColumn[] key = new DataColumn[1];
key[0] = table.Columns[0];
table.PrimaryKey = key;
3)在DataTable对象中创建行
table.Rows.Add("101", "luner", "luner@yiibai.com");
4)设置数据源,例如
GridView1.DataSource = table;
实例
private void Form1_Load(object sender, EventArgs e) { DataSet dataset = new DataSet(); DataTable table = dataset.Tables.Add("MyTableName"); table.Columns.Clear(); table.Columns.Add("编号"); table.Columns.Add("姓名"); table.Columns.Add("电子邮箱"); DataColumn[] key = new DataColumn[1];//dt是一个DataTable对象 key[0] = table.Columns[0]; table.PrimaryKey = key; table.Rows.Add("101", "luner", "luner@yiibai.com"); table.Rows.Add("102", "solar", "solar@yiibai.com"); table.Rows.Add("103", "malacca", "malacca@yiibai.com"); table.Rows.Add("104", "KLCC", "klcc.python@yiibai.com"); GridView1.DataSource = table; } private void button1_Click(object sender, EventArgs e) { DataRow //声明数据行; currenttableRow = ((DataRowView)this.GridView1.CurrentRow.DataBoundItem).Row; //当前课程数据行可通过课程数据网格视图的当前行的数据绑定项获得,后者可直接转换为数据行视图,从而获取其相应的数据行; currenttableRow.Delete(); }
运行结果