Usuário com melhor resposta
Retorna a descrição dos compos do banco de dados Access?

Pergunta
-
Respostas
-
Lennon,
Segue código abaixo:
// cria conexão
OleDbConnection oleDbConnection = new OleDbConnection(@"Provider = Microsoft.jet.OleDb.4.0;
Data Source=CaminhoCompletoMDB");
// abre conexão
oleDbConnection.Open();
// tabela contendo esquema
DataTable schemaTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,
new object[] { null, null, "NomeTabela" });
// lista propriedades da tabela
foreach (DataRow schemaTableRow in schemaTable.Rows)
{
Console.WriteLine(schemaTableRow["COLUMN_NAME"].ToString());
Console.WriteLine(schemaTableRow["DESCRIPTION"].ToString());
}
// fecha conexão
oleDbConnection.Close();
Att.
Ari C. Raimundo- Sugerido como Resposta Ari C. RaimundoModerator segunda-feira, 14 de setembro de 2009 20:54
- Marcado como Resposta Lennon Pereira (MCTS) terça-feira, 15 de setembro de 2009 00:31
Todas as Respostas
-
Olá Lennon
Analise o exemplo
//using System.Data.OleDb; OleDbConnection Conn; public Form3() { InitializeComponent(); string strConn = "Provider = Microsoft.jet.OleDb.4.0; Data Source = " + @"E:/DESENV/CaldasNovas/RS_BDados/Vetor/Cadastro.mdb;"; Conn = new OleDbConnection(strConn); } private void btnTable_Click(object sender, EventArgs e) { // LISTA AS TABELAS EXISTENTES Conn.Open(); DataTable tabTabelas = Conn.GetSchema("Tables"); foreach (DataRow rowTabela in tabTabelas.Rows) { foreach (DataColumn colTabela in tabTabelas.Columns) { if (colTabela.ColumnName == "TABLE_NAME") listTabelas.Items.Add(rowTabela[colTabela]); } } } private void listTabelas_SelectedIndexChanged(object sender, EventArgs e) { // LISTA OS CAMPOS DA TABELA SELECIONADA listColunas.Items.Clear(); string nomeTabela = listTabelas.Items[listTabelas.SelectedIndex].ToString(); OleDbCommand comando = new OleDbCommand("Select * from " + nomeTabela, Conn); OleDbDataReader reader = comando.ExecuteReader(); DataTable tabColunas = reader.GetSchemaTable(); foreach (DataRow rowTabela in tabColunas.Rows) { foreach (DataColumn colTabela in tabColunas.Columns) { if (colTabela.ColumnName == "ColumnName") listColunas.Items.Add(rowTabela[colTabela]); } } } }
Saudações
Márcio Lima -
Marcio não é isso que eu quero não..
Na base de dados access quando vc cria o BD, vc faz uma descrição de cada campo q vc cria, exemplo:
campo - tipo - descrição
id int Identificador
nome varchar Nome do Cliente
sexo char M Masculino F Feminino
Eu preciso q retorna a coluna descrição da base de dados Access.
Entendeu. -
-
-
Lennon,
Segue código abaixo:
// cria conexão
OleDbConnection oleDbConnection = new OleDbConnection(@"Provider = Microsoft.jet.OleDb.4.0;
Data Source=CaminhoCompletoMDB");
// abre conexão
oleDbConnection.Open();
// tabela contendo esquema
DataTable schemaTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,
new object[] { null, null, "NomeTabela" });
// lista propriedades da tabela
foreach (DataRow schemaTableRow in schemaTable.Rows)
{
Console.WriteLine(schemaTableRow["COLUMN_NAME"].ToString());
Console.WriteLine(schemaTableRow["DESCRIPTION"].ToString());
}
// fecha conexão
oleDbConnection.Close();
Att.
Ari C. Raimundo- Sugerido como Resposta Ari C. RaimundoModerator segunda-feira, 14 de setembro de 2009 20:54
- Marcado como Resposta Lennon Pereira (MCTS) terça-feira, 15 de setembro de 2009 00:31
-