vb使用find时无法找到主键

时间:2015-12-22 01:44:57

标签: vb.net visual-studio-2012

我正在尝试使用数据集列上的Rows find,但它回来说“Table没有主键”

它有一个主键,keycolumns显示主键确实存在。

为什么这不起作用。

    Dim dr As DataRow
    Dim cid As String
    Dim table As New DataTable
    Dim ds as new DataSet

    table.Columns.Add("cid", GetType(String))
    table.Columns.Add("filename", GetType(String))
    table.PrimaryKey = New DataColumn() { table.Columns("cid")}

    table.AcceptChanges()
    ds.Tables.Add(table)

    cmd = dbconn.CreateCommand()
    cmd.CommandText = "Select cid, filename from filetable"
    Dim myreader As DbDataReader = cmd.ExecuteReader()
    ds.Load(myreader, LoadOption.OverwriteChanges, "table")
    myreader.close

    ' check to see if primary key exists - it does.
    Dim keyColumns As DataColumn()
    keyColumns = table.PrimaryKey   

    dr = ds.Tables("table").Rows.Find(“8”)

1 个答案:

答案 0 :(得分:0)

从数据库加载后设置主键。我不认为dataadapters设置主键。