ADO.NET - Obtendo o esquema de uma fonte de dados
O esquema de uma fonte de dados descreve a estrutura da organização das tabelas , procedimentos armazenados e visões . Através da ADO.NET podemos facilmente obter estas informações . O objeto OLEDBConnection fornece a função GetOLEDBSchemaTable que pode ser usada para retornar informações sobre o esquema do banco de dados.
A sintaxe da função é a seguinte :
| Public Function GetOleDbSchemaTable( ByVal schema As Guid, ByVal restrictions() As Object ) As DataTable |
A função aceita dois parâmetros :
Schema - um dos valores para classe OleDbSchemaGuid que define o esquema da tabela que será retornado.
Restrictions - é um array de objetos usado para filtrar o resultado do esquema retornado
| Assertions |
Os membros da classe OleDbSchemaGuid retornam o tipo de esquema definido pelo método GetOleDbSchemaTable. Abaixo os principais membros:- Vamos mostrar um exemplo de como retornar um esquema do banco de dados Biblio.mdb que esta na pasta c:\teste 1 - Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)
2- A seguir insira um componente DataGrid no formulário form1.vb , um botão de comando e uma caixa de texto conforme abaixo :
|
|
| Catalogs | ||
| Character_Sets | ||
| Check_Constraints | ||
| Check_Constraints_By_Table | ||
| Collations | ||
| Columns | ||
| Column_Domain_Usage | ||
| Column_Privileges | ||
| Constraint_Column_Usage | ||
| Constraint_Table_Usage | ||
| DbInfoLiterals | ||
| Foreign_Keys | ||
| Indexes | ||
| Key_Column_Usage | ||
| Primary_Keys | ||
| Procedures | ||
| Procedure_Columns | ||
| Procedure_Parameters | ||
| Provider_Types | ||
| Referential_Constraints | ||
| Schemata | ||
| Sql_Languages | ||
| Statistics | ||
| Tables | ||
| Tables_Info | ||
| Table_Constraints | ||
| Table_Privileges | ||
| Table_Statistics | ||
| Translations | ||
| Trustee | ||
| Usage_Privileges | ||
| Views | ||
| View_Column_Usage | ||
| View_Table_Usage |
Imports
System.Data.OleDb4- A seguir defina as variáveis usadas no projeto:
Dim strcon As String
Dim tipo As Integer = 0 Dim Tabela As DataTable = New DataTable("Tabela")
5- A seguir insira o seguinte código no evento Click do botão de comando :
|
Private
Sub Button1_Click(ByVal
sender As System.Object,
ByVal e
As System.EventArgs)
Handles
Button1.Click
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & txtarquivo.Text
Dim conexao As New OleDbConnection(strcon)
conexao.Open()
Tabela = EsquemaTabelas(conexao)
DataGrid1.DataSource = Tabela
conexao.Close() End Sub |
6- Agora o código da função - EsquemaTabelas :
|
Public Function EsquemaTabelas(ByVal conn As OleDbConnection) As DataTableTabela = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})Return Tabela End Function |
Agora execute o projeto e o resultado será o esquema do banco de dados biblio.mdb:

Até a próxima... ![]()
José Carlos Macoratti