VB.Net - Как я могу проверить, существует ли первичный ключ в БД доступа - PullRequest
0 голосов
/ 21 февраля 2011

Я хочу проверить в базе данных доступа, существует ли первичный ключ, используя VB.Net & OleDb:

  • По имени первичного ключа

  • По количеству полей в качестве первичных ключей

1 Ответ

3 голосов
/ 21 февраля 2011

С здесь :

Public Shared Function getKeyNames(tableName As [String], conn As DbConnection) As List(Of String)
    Dim returnList = New List(Of String)()


    Dim mySchema As DataTable = TryCast(conn, OleDbConnection).GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, New [Object]() {Nothing, Nothing, tableName})


    ' following is a lengthy form of the number '3' :-)
    Dim columnOrdinalForName As Integer = mySchema.Columns("COLUMN_NAME").Ordinal

    For Each r As DataRow In mySchema.Rows
        returnList.Add(r.ItemArray(columnOrdinalForName).ToString())
    Next

    Return returnList
End Function
...