我正在使用VB.NET dataAdapter从Oracle数据库导入表。我使用“填充”命令将导入的数据添加到数据集中。在数据表已填充数据后,如何将数据表的特定列定义为PrimaryKey?

最佳答案

您可以通过以下方式设置表的主键:

    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");

关于vb.net - 创建后如何将VB.NET数据表列定义为主键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2470681/

10-09 08:47