Verificando se uma tabela existe - ADO / ADOX .
Precisa saber se uma tabela existe no banco de dados ? Vamos mostrar como fazer isto com ADO e ADOX.
1-) Inicie um novo projeto no Visual Basic e no formulário padrão insira dois botões de comando e duas caixas de textos , labels e um frame conforme no layout abaixo:
- Faça referências em seu projeto - menu Project|References... - a Microsoft ADOX e Microsoft ADO.
2-)Agora insira o seguinte código no botão de comando - ADOX - (cmdADOX) :
Private Sub CmdADOX_Click() Dim oCat As ADOX.Catalog Dim oTabela As ADOX.Table Dim bAchouTabela As Boolean Set oCat = New ADOX.Catalog oCat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & txtbancodados.Text bAchouTabela = False For Each oTabela In oCat.Tables If UCase(oTabela.Name) = UCase(txttabela.Text) Then bAchouTabela = True Exit For End If Next If bAchouTabela Then MsgBox "A tabela <<" & txttabela.Text & ">> foi localizada em => " & txtbancodados.Text Else MsgBox "A tabela <<" & txttabela.Text & ">> não foi localizada em => " & txtbancodados.Text End If End Sub |
- ADOX usa o objeto Catalog para pesquisar as tabelas no banco de dados
3-) Inclua o código a seguir no botão de comando - Usando ADO - ( cmdADO )
Private Sub CmdADO_Click() Dim oConn As ADODB.Connection Dim oRs As ADODB.Recordset Set oConn = New ADODB.Connection oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & txtbancodados.Text Set oRs = oConn.OpenSchema(adSchemaTables, Array(Empty, Empty, txttabela.Text, "TABELA")) If Not oRs.EOF Then MsgBox "A tabela <<" & txttabela.Text & ">> foi localizada em => " & txtbancodados.Text Else MsgBox "A tabela <<" & txttabela.Text & ">> não foi localizada em => " & txtbancodados.Text End If oConn.Close oRs.Close End Sub |
- ADO usa o OpenSchema para verificar a existência da tabela
Até a próxima...