如何在创建后将VB.NET DataTable列定义为主键

前端之家收集整理的这篇文章主要介绍了如何在创建后将VB.NET DataTable列定义为主键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用VB.NET dataAdapter从Oracle DataBase导入表.我使用“fill”命令将导入的数据添加到DataSet.在DataTable已经填充数据之后,如何将DataTable的特定列定义为PrimaryKey?
您可以通过以下方式设置表的主键:
  1. Dim table As New DataTable()
  2.  
  3. table.Columns.Add(New DataColumn("MyColumn"))
  4.  
  5. Dim primaryKey(1) As DataColumn
  6. primaryKey(1) = table.Columns("MyColumn")
  7. table.PrimaryKey = primaryKey

为了能够使用主键,您需要确保给定列的所有值都是唯一的.

我主要使用C#并使用一些扩展方法来“整理”我需要进行的调用,您可能需要考虑转换为VB并使用:

  1. public static void SetPrimaryKey(this DataTable value,string columnName)
  2. {
  3. value.PrimaryKey = new DataColumn[] { value.Columns[columnName] };
  4. }
  5.  
  6. public static DataRow FindByPrimaryKey(this DataTable value,object key)
  7. {
  8. return value.Rows.Find(key);
  9. }
  10.  
  11. // I can then do:
  12.  
  13. DataTable table = CallToRoutineThatGetsMyDataTable();
  14. table.SetPrimaryKey("PKColumnName");
  15. DataRow result = table.FindByPrimaryKey("valueToFindWith");

猜你在找的VB相关文章