Conectando um banco de dados Access

Como é de se imaginar o ADO.NET incorpora muito mais flexibilidade que o ADO e ele também permite acesso a vários bancos de dados como por exemplo: MS Access, MS Excel (tudo bem não é banco mas também podemos acessar

Por | @oficinadanet Programação
Como é de se imaginar o ADO.NET incorpora muito mais flexibilidade que o ADO e ele também permite acesso a vários bancos de dados como por exemplo: MS Access, MS Excel (tudo bem não é banco mas também podemos acessar os dados de uma planilha), MS Sql Server, Oracle e outros mais, no nosso caso, usaremos o Access mesmo!!
Os seguintes namespaces nos permitem acessar banco de dados:

· System.Data
· System.Data.ADO
· System.Data.Oledb
· System.Data.SQL
· System.Data.SQLTypes


Para requistar dados de um banco de dados precisamos de uma conexão com o mesmo, e um objeto que nos permite isso é o OleDbConnection. Além desse objeto precisamos ainda indicar onde se encontra o banco de dados, de que tipo ele é, e algumas coisas mais, para isso usamos uma string de conexão que será passada ao objeto OleDbConnection. Depois disso usaremos o método Open do Objeto que instanciaremos.
Acho que está meio vago, você não acham? Então vamos a exemplificar.
Primeiro importe os dois namespace:

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Oledb" %>


Para se conectar ao banco de dados usaremos a seguinte string de conexão:

Dim StringConn as string="Provider=Microsoft.Jet.OLEDB.4.0; Data SOURCE=" & MapPath("./BancoDeDados") & ";"

Instanciamos o objeto objConn:

Dim objConn as New OleDBConnection(StringConn)

E por fim abriremos o banco de dados com o método Open():

ObjConn.Open()


Uma vez aberta a conexão com o banco de dados, poderemos agora requistar os dados armazenados nas tabelas dentro dele. O objeto que nos permite realizar consultas em um banco de dados é o OleDbCommand. Vejamos:
Crie uma String de consulta Sql, por exemplo:

StrSql = "SELECT * FROM Tabela"


Onde Tabela é o nome da tabela dentro do banco de dados.
Para realizar a consulta crie um objeto do tipo OleDBCommand, assim:

Dim objComd as New OleDBCommand(strSql, objconn)


Veja que nos passamos dois parâmetros para a criação do objeto. O primeiro indica a o que iremos buscar no banco de dados e o segundo indica a conexão como banco de dados, que foi mostrada acima.

Uma mudança que aconteceu do ADO para o ADO.NET é que com o segundo nos temos métodos diferentes um para inserir dados ou atualizar (ExecuteNonQuery à não retorna nada!!) ou para requisitar dados (ExecuteReaderà retorna dados da consulta!!).
Vamos dar uma olhada no ExecuteReader:

Dim objReader as OleDbDataReader
ObjReader = objComd.ExecuteReader


Instanciamos o objeto que receberá os dados e jogamos os dados nele através do método ExecuteReader do objeto OleDBCommand.

Para mandar escrever:
While objReader.Read
Response.write(objReader.GetValue(0) & "
")
End While


O método GetValue() diz para ler a primeira coluna do registro atual, o 0(zero) quer dizer a primeira coluna, a segunda é 1, a terceira é 2 e assim por diante.
Abaixo segue uma lista de outros métodos do objeto OleDbDataReader.

·GetBoolean(x)
·GetByte(x) - Retorna um Byte
·GetBytes(x) - Retorna os dados como um vetor do tipo Byte.
·GetChar(x) - Retorna o caracter.
·GetChars(x) - Retorna um vetor de caracter.
·GetDataTypeName(x) - Retorna o tipo de dados da coluna especificada.
·GetDateTime(x)
·GetDecimal(x)
·GetDefaultStream(x) - Retorna um "Stream object"
·GetDouble(x)
·GetFieldType(x) - Retorna de que tipo é o dado.que é na coluna especificada por x. ·GetFloat(x)
·GetGuid(x) - Retorna o valor como um Identificador Global Único de Valor (GUID - Globally Unique Idetifier Value)
·GetInt16(x)
·GetInt32(x)
·GetInt64(x)
·GetName(x) - Retorna o nome da coluna.
·GetOrdinal(name) - Retorna o index da coluna dado o nome da coluna.
·GetString(x)
·GetTimeSpan(x)
·GetValue(x) - retorna o dado no formato nativo.
·GetValues(values()) - Retorna todos os atributos da coluna e os coloca em values().

O código completo ficaria assim:
<%@ Import Namespace="System.Data.OLEDB" %>
<%@ Import Namespace="System.Data" %>




Buscando dados do banco de dados!






Algumas observações:
Vimos que a string de conexão com o banco de dados é igual à utilizada no "Clássico" ASP, a função MapPath() do objeto Server também foi incorporada ao ASP+, devido a esse fato nos não falamos sobre esses itens pois estou supondo que você já saiba. Caso você seja um iniciante mande-me um e-mail que eu lhe passarei algumas dicas, OK?

Bom, acho que por hoje é só, no nosso próximo artigo nos trataremos da inserção de dados no banco de dados, espero que você tenha tirado algum proveito desse artigo.

Abraço, Eder Filardi

Mais sobre:
Share Tweet
DESTAQUESRecomendadoMais compartilhados
Comentários