O primeiro bloco de código no exemplo a seguir é típico de um tipo de aplicativo ASP que usa ADO para ler e manipular um conjunto de registros retornado de uma única consulta SQL. Ele usa o objeto Recordset ADO para ler os registros de dados retornados do banco de dados de exemplo Northwind fornecido com o Microsoft Access. O código estará contido em um arquivo com extensão .asp.
[Visual Básico]
< %@LANGUAGE=VBSCRIPT% >
<!
Este exemplo ASP usa ADO para ler registros de um banco de dados e imprimir dois
campos de todos os registros retornados para uma página ASP A conexão com o banco de dados Northwind é feita por meio de uma fonte de dados do sistema ODBC (DSN.
>
<html>
<corpo>
<%
dim ADOconn, ADOrs, sqlstr
sqlstr="SELECT * FROM Funcionários;"
definir ADOconn = Server.CreateObject("ADODB.Connection")
ADOconn.Open "DSN = Teste"
definir ADOrs = ADOconn.execute(sqlstr)
se ADOrs.BOF e ADOrs.EOF then ' A consulta não retornou nenhum registro.
Response.Write("Sem registros.")
outro
ADORs.MoveFirst
Faça enquanto não for ADORs.EOF
Response.Write(ADOrs("Nome") & " " _
& ADors("Sobrenome") & "<br>")
ADORs.MoveNext
Laço
Response.Write("<p>Fim dos dados.")
terminar se
ADORs.fechar
definir ADOrs = nada
%>
</body>
</html>
O exemplo a seguir ilustra as alterações mínimas necessárias para converter o exemplo anterior em um aplicativo ASP.NET. A maioria das alterações são necessárias para estar em conformidade com a nova sintaxe do Visual Basic. Este arquivo pode ser renomeado com uma extensão de arquivo .aspx e será executado com ASP.NET. As linhas de código modificadas são mostradas em negrito. Observe que a diretiva <%@ Page > com o atributo aspcompat=true foi adicionada na primeira linha.
[Visual Básico]
< %@Page aspcompat=true Idioma = VB%>
<!
Este exemplo usa ADO para ler registros de um banco de dados e imprimir dois
campos de todos os registros do banco de dados para uma página ASP.NET.
O banco de dados está localizado no servidor e a conexão é feita através de uma fonte de dados do sistema ODBC (DSN.
>
<html>
<corpo>
<%
dim objConn, rs, sqlstr
sqlstr="SELECT * FROM Funcionários;"
objConn = Server.CreateObject("ADODB.Connection") ' Conjunto removido.
objConn.Open("DSN=TEST") ' Parênteses adicionados.
rs = objConn.execute(sqlstr) ' Instrução Set removida.
Response.Write("<p>Teste ADO</p>")
se rs.BOF e rs.EOF then ' A consulta não retornou nenhum registro.
Response.Write("Sem registros")
outro
rs.MoveFirst
Faça enquanto não rs.EOF
'Especifique a propriedade Value.
Response.Write(rs("Nome").Valor _
& " " & rs("Sobrenome").Valor & "<br>")
rs.MoveNext
Laço
Response.Write("<p>Fim dos dados")
terminar se
rs.fechar
rs = nada ' Instrução Set removida.
%>
O próximo exemplo é um aplicativo ASP.NET que usa ADO.NET para ler registros do mesmo banco de dados Northwind do exemplo anterior. A saída gerada por este código é equivalente à saída do exemplo anterior e foi modificada para estar em conformidade com a convenção de bloco de código ASP.NET.
O exemplo cria um objeto ADO.NET DataSet, que neste caso contém uma tabela de dados que pode ser usada da mesma maneira que um conjunto de registros ADO. Observe que um conjunto de dados pode ser composto por uma ou mais coleções de DataTables, DataRelations e Constraints que compõem um banco de dados residente na memória, portanto, os conjuntos de dados ADO.NET são muito mais flexíveis que os conjuntos de registros ADO.
Para usar o ADO.NET, os namespaces System.Data e System.Data.OleDb precisam ser importados. Se a fonte de dados for um banco de dados SQL Server, importe o namespace System.Data.SqlClient em vez de System.Data.OleDb. Para obter mais informações sobre como usar o ADO e o objeto de conexão do provedor de dados SQL .NET, consulte Gerenciando conexões.
[Visual Básico]
< %@Import Namespace="System.Data"%>
< %@Import Namespace="System.Data.OleDb"%>
<!
Este exemplo usa ADO.NET para ler registros de um banco de dados e imprimir dois
campos de todos os registros retornados para uma página ASP.NET O banco de dados.
está localizado no servidor local.
>
<html>
<Linguagem de script=VB Runat=Servidor>
Sub Page_Load(Sender As Object, e As EventArgs)
Dim MyConnection como OleDbConnection
Dim MyCommand como OleDbDataAdapter
dim MeuDataset como DataSet
dim MinhaTabela como DataTable
dim loop1, numrows como inteiro
dim sqlstr como string
sqlstr = "SELECIONE * DE Funcionários;"
'Cria uma conexão com a fonte de dados.
MinhaConexão = New OleDbConnection("Provider=SQLOLEDB;" _
& "server=localhost;"Segurança Integrada=SSPI;" _
& "Initial Catalog=Northwind")
' Cria um objeto Command com a instrução SQL.
MyCommand = New OleDbDataAdapter(sqlstr, MyConnection)
' Preenche um DataSet com dados retornados do banco de dados.
MeuConjunto de Dados = Novo Conjunto de Dados
MeuCommand.Fill(MeuConjunto de Dados)
'Cria um novo objeto DataTable e atribui a ele
'a nova tabela na coleção Tables.
MinhaTabela = Nova DataTable
MinhaTabela = MeuDataset.Tables(0)
'Descobre quantas linhas existem na coleção Rows
'do novo objeto DataTable.
numrows = MinhaTabela.Rows.Count
Se numrows = 0 então
Response.Write("<p>Nenhum registro.</p>")
Outro
Response.Write("<p>" & Cstr(numrows) & " registros encontrados.</p>")
Para loop1 = 0 Para numrows - 1
'Imprime os valores das duas colunas da coluna Colunas
'coleção para cada linha.
Response.Write(MyTable.Rows(loop1).Item("Nome") _
& " " & MyTable.Rows(loop1).Item("Sobrenome") & "<br>")
Próximo ciclo1
Terminar se
Response.Write("<p>Fim dos dados.</p>")
Finalizar sub
</Script>
</html>
Em situações onde uma consulta de banco de dados (ou até mesmo uma consulta de junção de múltiplas tabelas) retorna um único conjunto de registros, uma única DataTable (MyTable neste exemplo) pode ser usada da mesma maneira que um conjunto de registros ADO.
Consulte "Documentação do SDK do NET FRAMEWORK"