|
|
|
|
|
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
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.
|
|
|
|
|