DataTable相关操作
用法一:动态创建一个DataTable ,并为其添加数据
public void CreateTable()
{
//创建表
DataTable dt = new DataTable();
//1、添加列
dt.Columns.Add("empName", typeof(string)); //数据类型为 文本
//2、通过列架构添加列
DataColumn age = new DataColumn("Age", typeof(Int32)); //数据类型为 整形
DataColumn datetime = new DataColumn("theDateTime", typeof(DateTime)); //数据类型为 时间
dt.Columns.Add(age);
dt.Columns.Add(datetime);
//1、添加空行
DataRow newRow = dt.NewRow();
dt.Rows.Add(newRow);
//2、添加空行
dt.Rows.Add();
//3、添加数据行
DataRow dr2 = dt.NewRow();
dr2[0] = "张三"; //通过索引赋值
dr2[1] = 28;
dr2["theDateTime"] = DateTime.Now;//通过名称赋值
dt.Rows.Add(dr2);
//4、通过行框架添加
dt.Rows.Add("李四",26,DateTime.Now);//参数的数据顺序要和dt中的列顺序对应
}
用法二:为已有DataTable添加一新列,其值可设为默认值,也可设这列不可为空。
public void CreateTable(DataTable dtTable)
{
//为已有DataTable添加一新列
DataColumn dc1 = new DataColumn("EmpName", typeof(string));
dtTable.Columns.Add(dc1);
//添加一新列,其值为默认值
DataColumn dc2 = new DataColumn("Sex", typeof(string));
dc2.DefaultValue = "男";
dc2.AllowDBNull = false;//这在初始表的时候,有作用;为已有表新增列的时候,不起作用
dtTable.Columns.Add(dc2);
}
用法三:筛选DataTable中的数据
public void SelectRowDataTable()
{
DataTable dt = new DataTable();//假设dt是由"SELECT C1,C2,C3 FROM T1"查询出来的结果
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["C1"].ToString() == "abc")//查询条件
{
//进行操作
}
}
//但这种做法用一两次还好说,用多了就累了。那有没有更好的方法呢?就是dt.Select(),上面的操作可以改成这样:
Select筛选数据的用法与SQL相似:
支持:'=','<>','>','<','and','or','in','like';
不支持:'between','!='
DataRow[] drArr &