• datatable


    datatable添加数据

    datatable dt=new datatable();

    dt.columns.add("string");     //添加列

    dt.Columns["string"].SetOrdinal (0);  //设定"string"列的位置

    DataTable.Columns.Contains(列名)判断某列是否存在

    datarow dr=dt.newrow(); 

    dr[0]="string";

    dt.rows.add(dr);          //添加行

    DT.DefaultView.Sort = DT.Columns[0].ColumnName + " DESC";   DT=DT.DefaultView.ToTable(); //换列[x]进行排序,DESC为逆序

    dt.rows.insertAt(dtrow,i)//在i行添加dtrow(行数据)

    1.使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(index);可以直接删除行

    2.datatable.Rows[i].Delete()。Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除,还可以通过datatable.RejectChanges()回滚,使该行取消删除。

    总结: delete和remove Delete的使用是 datatable.Rows[i].Delete(); Remove的使用是datatable.Rows.Remove(datatable.Rows[i]); 这两个的区别是,使用delete后,只是该行被标记为deleted,但是还存在,用Rows.Count来获取行数时,还是删除之前的行数.需要使用datatable.AcceptChanges()方法来提交修改. 而Remove方法则是直接删除. 如果在for循环里删除行的话,最好是使用delete方法,不然会出现count变化的情况.循环完后再使用AcceptChanges()方法提交修改,删除掉标记为deleted的行

    i=dt.Rows["行名"]["列名"].ToString();

    dt.Rows[行数][列数].ToString();   //DT数据操作

    dt.Rows[i][j]="值";

     dthzrow = dthz.NewRow();
                    dthzrow["车牌号"] = sqldt.Rows[0]["FNumber"].ToString();
                    dthzrow["线路"] = sqldt.Rows[0]["FRoute"].ToString();
                    dthzrow["车属单位"] = sqldt.Rows[0]["FDeptName"].ToString();
                    dthzrow["超限次数"] = dt1.Rows[i][1].ToString();
                    dthzrow["超速次数"] = 0;
                    dthz.Rows.Add(dthzrow);

    bool b = t.Columns.Contains("bbb"); //判断列是否存在

    dt.Columns[i].ColumnName //获取列名

  • 相关阅读:
    PHP 处理接口保证数据安全性
    zeromq使用模式实验总结
    文件描述符设置
    配置openssh实现sftp远程文件上传
    系统信号(signal)与其他(定时器,退出清理等)
    Python Subprocess Popen 管道阻塞问题分析解决
    fastcgi协议之一:定义
    命名空间与自动加载机制
    PSR规范
    细说php的异常和错误处理机制
  • 原文地址:https://www.cnblogs.com/clarklxr/p/5901820.html
Copyright © 2020-2023  润新知