C# 遍历datatable字段名和value的案例

遍历datatable的方法:

DataTable dt = dataSet.Tables[0];
foreach (DataColumn col in dt .Columns)
{
 string name=col.ColumnName;//获取到DataColumn列对象的列名
  dt.columns[行数][col.ColumnName].tostring()
} 

foreach (System.Data.DataColumn k in dataTable.Columns)
      {
        columnName=k.ColumnName;
        columnType=k.DataType.ToString();
      }

补充:C# 提取DataTable指定字段到新的DataTable方法

我就废话不多说了,大家还是直接看代码吧~

   /// <summary>
    /// 从DataTable中返回两列数据作为一个新的DataTable
    /// </summary>
    /// <param name="sourceDt">源数据表</param>
    /// <param name="x">需要返回的第1个字段</param>
    /// <param name="y">需要返回的第1个字段</param>
    /// <returns></returns>
    public static DataTable GetNewDataTable(DataTable sourceDt,string x,string y)
    {
      DataTable newTable = sourceDt.DefaultView.ToTable(false, new string[] { x, y });
      return newTable;
    }

方法是根据字段名称提取两列数据到新的DataTable,依此类推,要提取更多列{ x, y }中进行增加即可,对应(DataTable sourceDt,string x,string y)中也对应增加。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • C#中的DataTable查询实战教程

    DataTable查询 工作中遇到了需要进行DataTable进行查询的需求,简单研究了一下,最终使用一下方案实现,简单记录一下便于以后使用. DataTable dt = dataBox.GetDataForDataTable();//获取DataTable所有数据,准备进行查询 DataRow[] dtRow = dt.Select("调剂日期='"+MediumCode.Text.Trim()+"'");//根据查询条件,筛选出所有满足条件的列 DataTab

  • C# DataTable与Model互转的示例代码

    /// <summary> /// 实体转换辅助类 /// </summary> public class ModelConvertHelper<T> where T : new() { /// <summary> /// List泛型转换DataTable. /// </summary> public DataTable ListToDataTable<T>(List<T> items) { var tb = new D

  • C# Datatable的几种用法小结

    在C#中,从数据库中读取出来的数据一般都会存储在datatable中.datatable其实也是一张表,就像是从数据库中将检索出来的结果copy到datatable中一样.datatable的内部数据结构就是这样的 一个二维表. 下面介绍一下datatable中的几种用法. 添加引用 //引用命名空间 using System.Data; 创建表 //创建一个空表 DataTable dt = new DataTable(); //创建一个名为"new-tabel"的空表: DataT

  • C# DataTable数据遍历优化详解

    我们在进行开发时,会经常使用DataTable来存储和操作数据,我发现在遍历DataTable并对数据进行删除和添加操作时速度非常慢,查阅相关资料并测试在添加主键后可以使遍历和操作速度提高很多: 测试代码,测试的是我们向取出来数据满足Flag!=1条件的所有数据的后面添加一条数据(因为这条数据的一些字段值是根据前面的几条满足条件["AccID='" + accID + "' AND Y='" + year + "' AND AbsID <= &quo

  • C#过滤DataTable中空数据和重复数据的示例代码

    C#过滤DataTable中的空数据和重复数据 string sql = "select name,age from user"; DataTable data = DB.ExecuteDataTable(string.Format(sql)); //得到DataTable // ------------start 去重------------------- string[] distinctcols = new string[(data.Columns.Count)]; foreac

  • C# 遍历datatable字段名和value的案例

    遍历datatable的方法: DataTable dt = dataSet.Tables[0]; foreach (DataColumn col in dt .Columns) { string name=col.ColumnName;//获取到DataColumn列对象的列名 dt.columns[行数][col.ColumnName].tostring() } foreach (System.Data.DataColumn k in dataTable.Columns) { columnN

  • mybatis 字段名自动转小写的实现

    1.什么是Mybatis? MyBatis是一个优秀的持久层框架,是一个半ORM(对象关系映射)框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如加载驱动.创建连接.创建statement等繁杂的过程. Mybatis通过xml或注解的方式将要执行的statement配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回. 2.Mybatis

  • SQL提取数据库表名及字段名等信息代码示例

    本文向大家介绍了使用SQL语句提取数据库所有表的表名.字段名的实例代码,在SQLserver 中进行了测试,具体内容如下: --查询所有用户表所有字段的特征 SELECT D.Name as TableName, A.colorder AS ColOrder, A.name AS Name, COLUMNPROPERTY(A.ID,A.Name, 'IsIdentity') AS IsIdentity, CASE WHEN EXISTS (SELECT 1 FROM dbo.sysobjects

  • 如何取得一个表的所有字段名用逗号分割

    自从 Oracle 9i 开始,就可以通过SYS_CONNECT_BY_PATH 函数实现将从父节点到当前行内容以"path"或者层次元素列表的形式显示出来. 取得一个表的所有字段名,用逗号分割. select max(substr(SYS_CONNECT_BY_PATH(COLUMN_NAME, ','),2)) col from (select COLUMN_NAME,column_id from user_tab_columns where table_name='&表名

  • MySQL命令行中给表添加一个字段(字段名、是否为空、默认值)

    先看一下最简单的例子,在test中,添加一个字段,字段名为birth,类型为date类型. mysql> alter table test add column birth date; Query OK, 0 rows affected (0.36 sec) Records: 0  Duplicates: 0  Warnings: 0 查询一下数据,看看结果: mysql> select * from test; +------+--------+-----------------------

  • MySQL中字段名和保留字冲突的解决办法

    我们知道通常的SQL查询语句是这么写的: 复制代码 代码如下: select col from table; 这当然没问题,但如果字段名是"from"呢? 复制代码 代码如下: select from from table; 若真的这么写,必然出错,当字段名与MySQL保留字冲突时,可以用字符"`"将字段名括起来: 复制代码 代码如下: select `from` from table; 总结 刚发现我原先设计的数据库表里有两个字段都用了保留字(add,commen

  • mssql存储过程表名和字段名为变量的实现方法

    没有使用动态语句直接报错 错误的 复制代码 代码如下: alter proc testpapers as begin declare @tems nvarchar(max),@zidaun nvarchar(max) set @tems=select * from @tems order by @zidaun exec(@tems) end exec testpapers 消息 156,级别 15,状态 1,过程 testpapers,第 1 行 关键字 'select' 附近有语法错误. 消息

  • asp.net获取SQL所有数据库名、所有表名、所有字段名

    1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.获取所有表名: SELECT Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name XType='U':表示所有用户表; XType='S':表示所有系统表; 3.获取所有字段名: SELECT Name FROM SysColumns WHERE id=Object_Id('TableNa

  • php mssql扩展SQL查询中文字段名解决方法

    一.问题: 数据库是MS SQLServer2000,要把SQLServer2000里的一张表的数据导入MySQL5,其中SQLServer2000表的字段以简体中文命名(强烈建议不要以中文做为字段名).其实操作就是对SQLServer查询记录,插入到MySQL里.选择的脚本语言是PHP,PHP打开MSSQL和MySQL扩展,对这两个数据库操作都是很容易的问题. 问题就出现在SQLServer中表的字段名是中文,写好的查询语句在SQLServe里测试是通过有记录返回,用PHP的MSSQL扩展查询

  • asp获取数据库中表名和字段名的代码

    复制代码 代码如下: < % '功能:显示数据库中表名.字段名.字段内容 '原创:wangsdong '原创文章,转载请保留此信息,谢谢 set rs=server.CreateObject("adodb.recordset") db="db1.mdb" set conn=server.CreateObject("adodb.connection") connstr="Provider=Microsoft.Jet.OLEDB.4.

随机推荐