C# 如何在C中查询和检索数据表中的信息#

C# 如何在C中查询和检索数据表中的信息#,c#,visual-studio-2005,c#-2.0,C#,Visual Studio 2005,C# 2.0,我正在将文件夹中的信息放入数据表中。我使用以下代码行将信息放入datatable: 添加(nums[0],nums[1],nums[2],test1) 它似乎可以工作,但我对C#中的数据表不像在VB中那样熟悉。如果第一列中有多行具有相同值,那么如何搜索第一列具有特定值且第三列具有最高值的datatable。我也不确定在找到需要的行后如何检索信息。每个列的类型分别为int、int、int、string。如果VB指的是VB.NET,而不是类似于VB6的东西,那么在C#中使用DataTables(与传

我正在将文件夹中的信息放入数据表中。我使用以下代码行将信息放入datatable:

添加(nums[0],nums[1],nums[2],test1)

它似乎可以工作,但我对C#中的数据表不像在VB中那样熟悉。如果第一列中有多行具有相同值,那么如何搜索第一列具有特定值且第三列具有最高值的datatable。我也不确定在找到需要的行后如何检索信息。每个列的类型分别为int、int、int、string。

如果VB指的是VB.NET,而不是类似于VB6的东西,那么在C#中使用DataTables(与传统VB记录集相反)的代码将是相同的。相反,您将使用的方法,显然语法会有所不同,因为它是C#。除了括号外,还有分号和括号。但是他们使用相同的对象,调用相同的方法

无论如何,你可以这样做(C#3.0+)

对于非LINQ答案(C#的任何版本)


也许我做错了什么,但我不能让它工作。到处都是错误的线,在中间行的分号和无效的)和无效的..net和VB.NET 2008是我习惯使用的。抱歉,键入,不是键入IDE。如果您有更多的问题,这需要您使用System.Data
使用System.Linq在您的文件中。@Bryan,之前没有注意到您的C#2.0标记。我添加了应该在该环境中工作的代码。
DataRow matchingRow = (from DataRow row in dtUpgradeFileInfo.Rows
                       where (int)row["Column1"] == yourValue
                       orderby (int)row["Column3"] descending
                       select row).FirstOrDefault();

if (matchingRow != null)
{
    // get to work
}
string filter = "Column1 = " + yourValue.ToString();
string sortOrder = "Column3 desc";

dtUpgradeFileInfo.DefaultView.RowFilter = filter;
dtUpgradeFileInfo.DefaultView.Sort = sortOrder;
DataRow myRow = null;
DataTable filteredTable = dtUpgradeFileInfo.DefaultView.ToTable();
if (filteredTable.Rows.Count > 0)
    myRow = filteredTable.Rows[0];

if (myRow != null)
{
    // get to work
}