USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  ASP - Active Server Page    (Miscelâneas)

Título da Dica:  Conectando um banco de dados Access
Postada em 24/3/2004 por Paulo Dom      Clique aqui para enviar email para o autor  paulodom@bol.com.br
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 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) & "<br>")
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" %>

<script language="VB" runat="server">

Sub Page_Load(Src As Object, E As EventArgs)
Dim StringConn as string ="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.mappath("banco.mdb") & ";"
Dim objConn as New OleDBConnection(StringConn)
ObjConn.Open()
Dim StrSql as string = "SELECT * FROM tabela"

Dim objComd as New OleDBCommand(strSql, objconn)
Dim objReader as OleDbDataReader
ObjReader = objComd.ExecuteReader
While ObjReader.Read
Response.write(objReader.GetValue(0) & "<br>")
End While
objConn.Close()
End Sub
</script>

<html><head>
<title>Buscando dados do banco de dados!</title>
</head>

<body bgcolor="#FFFFFF">

</body></html>

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.
 


CyberWEB Network Ltda.    © Copyright 2000-2018   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página