1

我在这个数据库访问的东西上取得了进展......这是我需要做的:我有一个在类命名空间中定义的现有 DataSet(因此也是一个 DataTable),我正在尝试创建一个允许用户的函数从项目列表中选择,并使用SelectedItem.Value(其中包含来自数据库的唯一主键)显示有关所选项目的更多信息。我相信我需要搜索 DataSet 并将其读入类似 DataRow 的内容,以便我可以显示其中的值(有一种方法可以根据列名执行此操作,对吗?)

我只是不知道怎么说“复制/选择主键“partnumber”等于SelectedItem.Value

4

1 回答 1

2

常用的方法有以下三种

  1. 使用DataRowCollection.Find只能在列已定义为主键时使用

    var row = table.Rows.Find(SelectedItem.Value)
    
  2. 使用DataTable.Select(String),它使用像字符串一样的过滤器

    var rows = table.Select("IdFieldSelectedItem.Value = " + SelectedItem.Value);
    var row = rows[0];
    
  3. 使用Linq 到数据集

    var row =  (from t in table.AsEnumerable()
                where t.Field<int>("Id") == SelectedItem.Value
                select t).First();
    
于 2012-06-08T18:45:01.837 回答