trovare una primarykey con adodb In vb.net
'******************************************************* ' questa funzione CERCA il campo e' PrimaryKey ' cerca questi valori dello schema ' TABLE_NAME .. ANAGRAFICA ' INDEX_NAME .. ID ' PRIMARY_KEY .. Vero ' Unique .. Vero '******************************************************* Public Function VerificaCampoPrimaryKey(ByVal Tabella As String, ByVal NomeDatabase As String, ByVal Campo As String) As Boolean On Error GoTo Errore IndexName = "" Dim rstSchema As ADODB.Recordset Dim cnn As ADODB.Connection cnn = New ADODB.Connection cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0" cnn.Open(NomeDatabase) rstSchema = cnn.OpenSchema(ADODB.SchemaEnum.adSchemaIndexes) rstSchema.Filter = "" rstSchema.Filter = "TABLE_NAME='" & Tabella & "' and PRIMARY_KEY = True and Unique = True and COLUMN_NAME = '" & Campo & "'" ' Do Until rstSchema.EOF ' Debug.Print "Type = " & rstSchema.Fields("TABLE_NAME").Value ' Debug.Print "TABLE_CATALOG = " & rstSchema.Fields("TABLE_CATALOG").Value ' Debug.Print "TABLE_SCHEMA = " & rstSchema.Fields("TABLE_SCHEMA").Value ' Debug.Print "INDEX_NAME = " & rstSchema.Fields("INDEX_NAME").Value ' Debug.Print "Type = " & rstSchema.Fields("Type").Value ' Debug.Print "PRIMARY_KEY = " & rstSchema.Fields("PRIMARY_KEY").Value VerificaCampoPrimaryKey = rstSchema.Fields("PRIMARY_KEY").Value 'Exit Do ' rstSchema.MoveNext() ' Loop rstSchema.Close() cnn.Close() Exit Function Errore: VerificaCampoPrimaryKey = "" rstSchema.Close() cnn.Close() End Function |