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

DEIXE SEU COMENTÁRIOComente aqui
MAIS SOBRE
Assine a nossa newsletter

COMENTÁRIOS

COMENTÁRIOS

Comentários
  • ASSINE NOSSA NEWSLETTER

    As melhores publicações no
    seu e-mail

  • Preencha para confirmar