Crear una página ASP - Utilizar el objeto Recordset para manipular los resultados

13 - Utilizar el objeto Recordset para manipular los resultados

[editar]
Tutorial creado por UnedHistoria. Extraido de: http://www.zonagratuita.com
30 de Noviembre de 1999
Para recuperar datos, examinar resultados y modificar su base de datos, ADO proporciona el objeto Recordset. El objeto Recordset tiene las funciones necesarias para, dependiendo de las restricciones de las consultas, recuperar y presentar un conjunto de filas, o registros, de una base de datos. El objeto Recordset mantiene la posición de cada registro devuelto por la consulta, lo que permite recorrer los resultados de uno en uno.


Recuperar un conjunto de registros
Las buenas aplicaciones de datos Web emplean el objeto Connection para establecer un vínculo, y el objeto Recordset para manipular los datos devueltos. Al combinar las funciones especializadas de ambos objetos puede desarrollar aplicaciones de bases de datos que realicen casi cualquier tarea de tratamiento de datos. Por ejemplo, la siguiente secuencia de comandos del servidor utiliza el objeto Recordset para ejecutar un comando SELECT de SQL. El comando SELECT recupera un conjunto específico de información basándose en las restricciones de la consulta. La consulta también contiene una cláusula WHERE de SQL, que se utiliza para establecer el criterio de selección de la consulta. En este ejemplo, la cláusula WHERE limita la consulta a todos los registros que contengan el apellido Soto
en la tabla Customers de la base de datos.
<%
'Establece una conexión con un origen de datos.
strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Datos\Empleados.mdb"
Set cn = Server.CreateObject("ADODB.Connection")
cnn.Open strConnectionString
'Crea una instancia de un objeto Recordset.
Set rsCustomers = Server.CreateObject("ADODB.Recordset")
'Abre un objeto Recordset con el método Open
'y utiliza la conexión establecida por el objeto Connection.
strSQL = "SELECT FirstName, LastName FROM Customers WHERE LastName = 'Soto' "
rstCustomers.Open strSQL, cnn
'Recorre el conjunto de los registros y presenta los resultados
'e incrementa la posición del registro con el método MoveNext.
Set objFirstName = rstCustomers("Nombre")
Set objLastName = rstCustomers("Apellido")
Do Until rstCustomers.EOF
Response.Write objFirstName & " " & objLastName & "<BR>"
rstCustomers.MoveNext
Loop
%>


Observe que en el ejemplo anterior, el objeto Connection estableció la conexión con la base de datos y que el objeto Recordset utilizó la misma conexión para recuperar resultados de la base de datos. Este método es útil cuando tenga que configurar con precisión la forma en que se establece el vínculo con la base de datos. Por ejemplo, si necesitara especificar el tiempo de espera antes de anular un intento de conexión, tendría que utilizar el objeto Connection para establecer dicha propiedad. Sin embargo, si sólo desea establecer una conexión con las propiedades de conexión predeterminadas de ADO, podría utilizar el método Open del objeto Recordset para establecer el vínculo:
<%
strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Datos\Empleados.mdb"
strSQL = "SELECT FirstName, LastName FROM Customers WHERE LastName = 'Soto' "
Set rsCustomers = Server.CreateObject("ADODB.Recordset")
'Abre una conexión con el método Open
'y utiliza la conexión establecida por el objeto Connection.
rstCustomers.Open strSQL, strConnectionString
'Recorre el conjunto de registros, presenta los resultados
'e incrementa la posición del registro con el método MoveNext.
Set objFirstName = rstCustomers("Nombre")
Set objLastName = rstCustomers("Apellido")
Do Until rstCustomers.EOF
Response.Write objFirstName & " " & objLastName & "<BR>"
rstCustomers.MoveNext
Loop
%>


Cuando establece una conexión con el método Open del objeto Recordset, está utilizando
implícitamente el objeto Connection para proteger el vínculo. Para obtener más información, consulte la documentación acerca de Microsoft ActiveX Data Objects (ADO), disponible en el sitio Web de Microsoft Universal Data Access en la dirección http://www.microsoft.com/data/.---

Nota Para mejorar de forma significativa el rendimiento de las aplicaciones ASP de base de datos, piense en la posibilidad de cambiar el estado del conjunto de registros a Application. Para obtener más información, consulte Guardar datos en la memoria caché.


A menudo resulta útil contar el número de registros que se devuelven en un conjunto de registros. El método Open del objeto Recordset permite especificar un parámetro opcional, cursor, que determina cómo recupera y recorre el conjunto de registros el proveedor subyacente. Al agregar el parámetro de cursor adOpenKeyset a la instrucción que se utiliza para ejecutar la consulta, permite que la aplicación cliente recorra todo el conjunto de registros. Como resultado, la aplicación puede utilizar la propiedad RecordCount para calcular con precisión el número de registros del conjunto. Vea el siguiente ejemplo:
<%
Set rsCustomers = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM NewOrders", "Provider=Microsoft.Jet.OLEDB.3.51;Data
Source='C:\PedidosClientes\Pedidos.mdb'", adOpenKeyset, adLockOptimistic, adCmdText
'Utiliza la propiedad RecordCount del objeto Recordset para realizar la cuenta.
If rs.RecordCount >= 5 then
Response.Write "Recibimos estos " & rs.RecordCount & " nuevos pedidos<BR>"
Do Until rs.EOF
Response.Write rs("NombreCliente") & " " & rs("ApellidoCliente") & "<BR>"
Response.Write rs("NumeroCuenta") & "<BR>"
Response.Write rs("Cantidad") & "<BR>"
Response.Write rs("FechaEntrega") & "<BR><BR>"
rs.MoveNext
Loop
Else
Response.Write "Hay menos de " & rs.RecordCount & " nuevos pedidos."
End If
rs.Close
%>
[editar]

18 opiniones

b

b
LOS CORNUDOS!

QUIEREN SABER SI SON CORNUDOS?
kj

<=y>
Principiante.

Estoy aprendiendo acrear aplicaciones en asp. Net y se me hace complicado. Necesito un manual. Puenden ayudarme
tengo 17 años.
Uso de campo con varias lineas.

(asp) un campo de direccion del cliente
tiene varias lineas : 4 lineas de 25
caracteres cada una. Si tecleo lotes de letras de cuatro asi:
a b c v
si le doy enter, se cae la pagina que lo va a
incluir en un recordset. Cuando no le doy enter si funciona. Le agradezco si me pueden orientar sobre este detalle.
1 2 3 4 | siguiente >

Tutoriales relacionados con 'Crear una página ASP'

ASP (Active Server Pages) es la tecnología para la creación de páginas dinámicas del lado... Más »
Active Server Pages (ASP), es una tecnología propietaria de Microsoft. Se trata básicamente de un... Más »
Debian es el nombre de una organización dedicada al desarrollo y mantenimiento de sistemas operativos... Más »
En muchos foros y cosas similares he visto muchas consultas sobre cómo montar servidores de... Más »
Este documento describe el soporte de sonido para Linux. Enumera el hardware de sonido soportado,... Más »

Autor y licencia de 'Crear una página ASP'


Tutorial de UnedHistoria. Extraido de: http://www.zonagratuita.com CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.