ASP.NET - Conexão de banco de dados

ADO.NET também é parte integrante da framework .NET.

A função do ADO.NET é lidar com o acesso a dados. Através do ADO.NET, você pode operar o banco de dados.

O que é ADO.NET?

  • ADO.NET é parte integrante da framework .NET
  • O ADO.NET é composto por uma série de classes usadas para operar o acesso a dados
  • O ADO.NET é completamente baseado em XML
  • O ADO.NET não tem objeto Recordset, o que é diferente do ADO

Criando conexão de banco de dados

Nós pretendemos usar o banco de dados Northwind que já usamos.

Primeiro, importamos o espaço de nomes "System.Data.OleDb". Nós precisamos deste espaço de nomes para poder operar o Microsoft Access e outros provedores de banco de dados OLE DB. Vamos criar uma conexão para este banco de dados no subrotina Page_Load. Criamos uma variável dbconn e atribuímos a ela a classe OleDbConnection, que possui uma string de conexão que pode indicar o OLE DB e a localização do banco de dados. Em seguida, abrimos esta conexão de banco de dados:

<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
sub Page_Load
dim dbconn
dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"
data source=" & server.mappath("northwind.mdb")")
dbconn.Open()
Fim Sub
</script>

Observação:Esta string de conexão deve ser uma string contínua sem quebras!

Criando comando de banco de dados

Para especificar os registros que precisamos recuperar do banco de dados, criaremos uma variável dbcomm e lhe atribuiremos um novo OleDbCommand. Esta classe OleDbCommand é usada para emitir consultas SQL contra a tabela do banco de dados:

<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
sub Page_Load
dim dbconn, sql, dbcomm
dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"
data source=" & server.mappath("northwind.mdb")")
dbconn.Open()
sql = "SELECT * FROM customers"
dbcomm = New OleDbCommand(sql, dbconn)
Fim Sub
</script>

Criando DataReader

A classe OleDbDataReader é usada para ler um fluxo de registros de origem de dados. Ao chamar o método ExecuteReader do objeto OleDbCommand, é possível criar um DataReader:

<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
sub Page_Load
dim dbconn, sql, dbcomm, dbread
dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"
data source=" & server.mappath("northwind.mdb")")
dbconn.Open()
sql = "SELECT * FROM customers"
dbcomm = New OleDbCommand(sql, dbconn)
dbread=dbcomm.ExecuteReader()
Fim Sub
</script>

Vinculando a um controle Repeater

Então, nos vinculamos este DataReader a um controle Repeater:

<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
sub Page_Load
dim dbconn, sql, dbcomm, dbread
dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"
data source=" & server.mappath("northwind.mdb")")
dbconn.Open()
sql = "SELECT * FROM customers"
dbcomm = New OleDbCommand(sql, dbconn)
dbread=dbcomm.ExecuteReader()
customers.DataSource=dbread
customers.DataBind()
dbread.Close()
dbconn.Close()
Fim Sub
</script>
<html>
<body>
<form runat="server">
<asp:Repeater id="customers" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Nome da Empresa</th>
<th>Nome do Contato</th>
<th>Endereço</th>
<th>Cidade</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("companyname")%></td>
<td><%#Container.DataItem("contactname")%></td>
<td><%#Container.DataItem("address")%></td>
<td><%#Container.DataItem("city")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>

Exibir Esse Exemplo

Fechar Conexão de Banco de Dados

Depois de não precisar acessar o banco de dados, lembre-se sempre de fechar o DataReader e a conexão do banco de dados:

dbread.Close()
dbconn.Close()