ADO.NET编程(3)在内存中对DataTable进行增/删/改操作

  我们可以在内存中创建DataTable对象,同样也可以对它们进行进一步的各种操作,下面的示例程序中,让我们来学习如何对它们进行基本的增删改的操作。作为示例程序的第一步我们应该是先创建一个Windows Forms的项目,然后定义一个存储和传递数据的类。

 

1.定义一个Employee类

  在Employee类中定义基本的成员属性,构造函数和获取对象集合的静态方法。如下:

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作View Code

 

2.创建EmployeeManager.cs的窗体

  界面设计很简单,一个DataGridView控件和两个Button控件,如下:

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作

 

3.创建EmployeeDetail.cs窗体

  这个窗体是用来添加、修改DataTable数据的,对应Employee类几个属性的文本框和确定、取消按钮,设计如下:

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作

整个示例就只有这两个简单的窗体,关键代码在后面给出。

 

4.在内存中创建和Employee类对应的DataTable并添加数据

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作View Code

 

5.双击DataGridView任意行时,编辑行数据

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作View Code

 

6.添加删除数据行的代码

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作
 1         /// <summary>
 2         /// 删除数据行
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void btn_delete_Click(object sender, EventArgs e)
 7         {
 8             if (Employee_DataGrid.Rows.Count > 0)
 9             {
10                 int currentIndex = Employee_DataGrid.CurrentCell.RowIndex;
11 
12                 DataRow editRow = (this.Employee_DataGrid.CurrentRow.DataBoundItem as DataRowView).Row;
13                 // DataRow editRow = (this.Employee_DataGrid.Rows[currentIndex].DataBoundItem as DataRowView).Row;
14                 if (editRow != null)
15                 {
16                     editRow.Delete();
17                     this.EmployeeTable.AcceptChanges();
18                 }
19             }
20         }
ADO.NET编程(3)在内存中对DataTable进行增/删/改操作

 

7.添加增加数据行的代码

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作
 1         /// <summary>
 2         /// 增加数据行
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void btn_Add_Click(object sender, EventArgs e)
 7         {
 8             EmployeeDetail detail = new EmployeeDetail(this.EmployeeTable, TableAction.Add);
 9             if (detail.ShowDialog() == DialogResult.OK)
10             {
11                 DataRow oneRow = detail.EmployeeEntry;
12                 try
13                 {
14                     this.EmployeeTable.Rows.Add(oneRow);
15                     this.EmployeeTable.AcceptChanges();
16                 }
17                 catch (Exception ex)
18                 {
19                     MessageBox.Show("错误:" + ex.Message);
20                 }
21             }
22         }
ADO.NET编程(3)在内存中对DataTable进行增/删/改操作

 

最后我们运行示例程序:

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作

 

增加数据:

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作

 

编辑数据:

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作

 

删除数据:

ADO.NET编程(3)在内存中对DataTable进行增/删/改操作

 

猛击下载:示例源码

作者:晴天猪

出处:http://www.cnblogs.com/IPrograming 

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

本文转自gyzhao博客园博客,原文链接:http://www.cnblogs.com/IPrograming/archive/2012/08/10/ADO_NET_3.html,如需转载请自行联系原作者