Acessando arquivos DBF

ASP.NET - Acessando arquivos DBF
 


Você precisa acessar e exibir os dados presentes em um arquivo DBF (padrão Xbase) na Web ?

Então vem comigo que eu vou te mostrar como fazer isto.

Neste artigo eu vou acessar o arquivo DBF Teste.dbf que esta presente na pasta c:\teste.

Este arquivo possui os dados da tabela Authors do arquivo Biblio.mdb (lembra dele) e apresenta três campos :

Au_ID  - que representa o código do autor
Author - que representa o nome do autor

Year Born - que representa o ano de nascimento do autor

Podemos usar um arquivo DBF usando o provedor OLE DB e é isto que eu vou fazer .

Como pretendo exibir os dados na web vou criar uma página ASP.NET usando o WebMatrix e exibir os dados em um controle DataGrid.

Abra então o Web Matrix e inclua um componente DataGrid na aba Design.

A seguir digite o código abaixo na guia Code. Este é o código que acessa o arquivo DBF.

Sub Page_Load(sender As Object, e As EventArgs)

Dim con as OledbConnection
Dim cmd as OleDbCommand
Dim rd as OleDbDataReader

con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\teste;Extended Properties=dBase III")

con.Open()
cmd = new OleDbCommand("Select * from TESTE.DBF Where Au_ID < 30", con)

rd = cmd.ExecuteReader()
datagrid1.DataSource = rd
datagrid1.dataBind

rd.close
cmd.dispose
con.dispose

end sub

Na guia ALL inclua as declarações de imports  referente aos namespace System.Data.OLeDb , conforme abaixo:

<%@ Page Language="VB" Debug="True" Trace="false" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>

O código completo deverá ser o seguinte :

A única coisa digna de menção é a string de conexão :

con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\teste;Extended Properties=dBase III")

Nela você deve atentar para o seguinte :

  1. Estou definindo como fonte de dados a pasta onde esta localizado o arquivo DBF ( c:\teste )

  2. Estou informando o formato da fonte de dados via Extended Properties como dBaseIII

  3. Estou selecionando do arquivo DBF somente os dados cujo campo AU_ID forem menores que 30 conforme instrução SQL : Select * from TESTE.DBF Where Au_ID < 30"

O resultado da execução da página no servidor WebMatrix é exibido abaixo:

Eu sei , é apenas ASP.NET , mas eu gosto..

Referências:


José Carlos Macoratti