我有一个数据表.我需要根据用户输入获取某个列值.例如,假设数据表有两列CountryID和CountryName.
我需要根据用户输入的国家/地区名称在数据表中找到CountryID.我可以打开与DB的连接,并从countryName = @userinput的Country运行查询select countryID.无论如何我可以在数据表上执行此操作.
Sea*_*ard 66
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();
Run Code Online (Sandbox Code Playgroud)
Jim*_*mmy 19
foreach (DataRow row in Datatable.Rows)
{
if (row["CountryName"].ToString() == userInput)
{
return row["CountryID"];
}
}
Run Code Online (Sandbox Code Playgroud)
虽然这可能无法直接编译,但您应该明白这一点,我也相信通过SQL进行查询将会非常优越,因为巨大的数据表需要很长时间才能运行所有行.
Dei*_*lan 12
我建议这种方式基于扩展方法:
IEnumerable<Int32> countryIDs =
dataTable
.AsEnumerable()
.Where(row => row.Field<String>("CountryName") == countryName)
.Select(row => row.Field<Int32>("CountryID"));
Run Code Online (Sandbox Code Playgroud)
需要引用System.Data.DataSetExtensions.dll.
| 归档时间: |
|
| 查看次数: |
304567 次 |
| 最近记录: |