我使用VB.NET數據適配器從Oracle數據庫導入表。我使用「fill」命令將導入的數據添加到DataSet中。在DataTable已經填充數據之後,如何將DataTable的特定列定義爲PrimaryKey?如何在創建後將VB.NET DataTable列定義爲主鍵
6
A
回答
5
您可以設定一個表的主鍵:
Dim table As New DataTable()
table.Columns.Add(New DataColumn("MyColumn"))
Dim primaryKey(1) As DataColumn
primaryKey(1) = table.Columns("MyColumn")
table.PrimaryKey = primaryKey
爲了能夠使用主鍵,您需要確保在給定的列中的所有值都是唯一的。
我主要是在C#中工作,有一對夫婦的擴展方法我用我需要讓「整潔」的叫聲,你可能要考慮轉換到VB和使用:
public static void SetPrimaryKey(this DataTable value, string columnName)
{
value.PrimaryKey = new DataColumn[] { value.Columns[columnName] };
}
public static DataRow FindByPrimaryKey(this DataTable value, object key)
{
return value.Rows.Find(key);
}
// I can then do:
DataTable table = CallToRoutineThatGetsMyDataTable();
table.SetPrimaryKey("PKColumnName");
DataRow result = table.FindByPrimaryKey("valueToFindWith");
9
只要在列中的值是唯一的
table.PrimaryKey = new DataColumn[] { table.Columns["Id"] };
調整爲列名。
9
這裏VB中的一行代碼(問題在於「使用VB.NET」)。這個例子是2列索引:
table.PrimaryKey = New DataColumn() {table.Columns("column1"), _
table.Columns("column2")}
更新:下面是關於如何使用這個2列索引來查找行另外一個班輪:
table.Rows.Find(New Object() {value1, value2}) '<- DataRow returned
1
感謝您的回答羅布 - vb版本存在一個小問題,儘管索引應該爲零:
Dim table As New DataTable()
table.Columns.Add(New DataColumn("MyColumn"))
Dim primaryKey(1) As DataColumn
primaryKey(0) = table.Columns("MyColumn")
table.PrimaryKey = primaryKey
相關問題
- 1. 如果未將主鍵定義爲列,那麼如何將主鍵指定爲此?
- 2. 將DataTable構建爲自定義控件
- 3. 如何在FileMaker表中創建新主鍵,然後將現有關係修改爲基於新創建的鍵?
- 4. 創建自定義後退鍵的UINavigationController
- 5. 將SQL標識創建爲主鍵?
- 6. 如何僅在主鍵大於最後一個主鍵時填充DataTable行?
- 7. 如何創建自定義主屏幕
- 8. 如何創建自定義鍵盤
- 9. 如何在創建後將所創建的列創建爲只讀?
- 10. 如何提高在VB.net中創建DataTable的性能?
- 11. 如何在ClickHouse中創建主鍵
- 12. 如何在DBF表上創建主鍵?
- 13. 無法創建外鍵多列主鍵
- 14. 在兩列上創建主鍵
- 15. 如何創建在vb.net
- 16. 爲android創建自定義鍵盤
- 17. 爲iOS鍵盤創建自定義Emojis
- 18. 在主體框架中將主鍵定義爲虛擬
- 19. Android:如何在鍵盤上創建自定義形狀鍵?
- 20. 如何在Android Studio中創建自定義鍵盤快捷鍵
- 21. 我們如何在實體框架中創建一個具有自定義列名作爲主鍵的表
- 22. MySQL將列定義爲UNIQUE並使用AUTO_INCREMENT而不是主鍵
- 23. 如何自定義DataTable列的排序
- 24. 如何創建指向多列主鍵的單個外鍵?
- 25. 如何將一個外鍵變爲主鍵和列成列
- 26. Django如何在表單有效後設置自定義主鍵
- 27. 在訪問中創建自定義主鍵
- 28. 如何爲telerik MVC網格創建自定義主題?
- 29. 如何爲JSON主體創建自定義聯編程序?
- 30. 如何爲Primefaces創建自定義主題?