C# DataTable相关操作

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 &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值