C# DataTable常见用法汇总
本攻略将详细讲解C# DataTable的常见用法,包括创建、增删改查、排序、筛选、数据类型转换等。
创建DataTable
创建DataTable之前需要先声明DataTable对象和数据列,并在表对象中添加数据列,代码如下:
//声明表对象
DataTable dt = new DataTable();
//添加数据列
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Age", typeof(int));
dt.Columns.Add("Gender");
增删改查
增加行
使用NewRow()方法创建新行,使用Add()方法将行添加到表中,代码如下:
DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["Name"] = "Tom";
dr["Age"] = 20;
dr["Gender"] = "Male";
dt.Rows.Add(dr);
删除行
使用Remove()方法删除指定行,代码如下:
dt.Rows.Remove(dt.Rows[0]);
修改行
直接对行的数据进行修改即可,代码如下:
dt.Rows[0]["Age"] = 21;
查询行
使用Select()方法查询符合条件的行,代码如下:
DataRow[] drs = dt.Select("Age>18");
foreach (DataRow dr in drs)
{
Console.WriteLine(dr["Name"]);
}
排序
使用DefaultView对数据进行排序,并将结果赋值给DataTable,代码如下:
dt.DefaultView.Sort = "Age desc";
dt = dt.DefaultView.ToTable();
筛选
使用Select()方法筛选符合条件的行,并将结果复制到新的DataTable中,代码如下:
DataTable dt2 = dt.Clone();
DataRow[] drs = dt.Select("Age>18");
foreach (DataRow dr in drs)
{
dt2.ImportRow(dr);
}
数据类型转换
使用Convert类进行数据类型转换,示例如下:
int age = Convert.ToInt32(dt.Rows[0]["Age"]);
示例说明
示例1
以下示例展示如何使用DataTable和DataGrid实现数据表格的显示和编辑:
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name");
dt.Columns.Add("Age", typeof(int));
dt.Columns.Add("Gender");
//添加测试数据
DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["Name"] = "Tom";
dr["Age"] = 20;
dr["Gender"] = "Male";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 2;
dr["Name"] = "Lucy";
dr["Age"] = 21;
dr["Gender"] = "Female";
dt.Rows.Add(dr);
DataGrid dg = new DataGrid();
dg.SetBinding(ItemsControl.ItemsSourceProperty, new Binding { Source = dt });
dg.IsReadOnly = false;
使用以上代码,创建了一个包含数据的DataTable,将DataTable与DataGrid进行绑定,实现了数据表格的显示和编辑。
示例2
以下示例展示如何使用ADO.NET和DataTable实现数据的查询和展示:
using System.Data.SqlClient;
string connStr = "Data Source=(local);Initial Catalog=StudentDB;User ID=sa;Password=123456";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string sql = "select * from Student";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
conn.Close();
//在页面或窗口中显示表格
DataGrid dg = new DataGrid();
dg.SetBinding(ItemsControl.ItemsSourceProperty, new Binding { Source = dt });
使用以上代码,创建了一个连接StudentDB数据库,查询Student表中的所有记录,并将结果填充到DataTable中,最后将DataTable与DataGrid进行绑定,实现了数据的查询和展示。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# DataTable常见用法汇总 - Python技术站