当前位置:  开发笔记 > 编程语言 > 正文

如何从DataTable获取特定列值?

如何解决《如何从DataTable获取特定列值?》经验,为你挑选了3个好方法。

我有一个数据表.我需要根据用户输入获取某个列值.例如,假设数据表有两列CountryID和CountryName.

我需要根据用户输入的国家/地区名称在数据表中找到CountryID.我可以打开与DB的连接,并从countryName = @userinput的Country运行查询select countryID.无论如何我可以在数据表上执行此操作.



1> Seattle Leon..:
string countryName = "USA";
DataTable dt = new DataTable();
int id = (from DataRow dr in dt.Rows
              where (string)dr["CountryName"] == countryName
              select (int)dr["id"]).FirstOrDefault();



2> Jimmy..:
foreach (DataRow row in Datatable.Rows) 
{
    if (row["CountryName"].ToString() == userInput) 
    {
        return row["CountryID"];
    }
}

虽然这可能无法直接编译,但您应该明白这一点,我也相信通过SQL进行查询将会非常优越,因为巨大的数据表需要很长时间才能运行所有行.



3> Deilan..:

我建议这种方式基于扩展方法:

IEnumerable countryIDs =
    dataTable
    .AsEnumerable()
    .Where(row => row.Field("CountryName") == countryName)
    .Select(row => row.Field("CountryID"));

需要引用System.Data.DataSetExtensions.dll.


这正是我想要的,谢谢!我几乎错过了你对该参考的最终评论 - 谢谢你.
推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有