Foros del Web » Programando para Internet » ASP Clásico »

no entiendo la instruccion.

Estas en el tema de no entiendo la instruccion. en el foro de ASP Clásico en Foros del Web. Hola: alguien me puede explicar la siguiente instrucion del codigo? la verdad estoy medio perdido: ' Abro el recordset rs.Open SQL, oConn, 1, 2 mil ...
  #1 (permalink)  
Antiguo 29/01/2007, 17:24
Avatar de vpino  
Fecha de Ingreso: diciembre-2004
Ubicación: colombia
Mensajes: 265
Antigüedad: 19 años, 5 meses
Puntos: 0
no entiendo la instruccion.

Hola: alguien me puede explicar la siguiente instrucion del codigo? la verdad estoy medio perdido:
' Abro el recordset
rs.Open SQL, oConn, 1, 2

mil gracias a cualquier ayuda.





set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")

' Conexión por OLEDB
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source="&Server.MapPath("ejemplo.mdb")&";"
SQL="SELECT Id, Nombre, Ventas FROM Ventas;"

' Defino el tamaño de las páginas
rs.PageSize=TamPagina
rs.CacheSize=TamPagina

' Abro el recordset
rs.Open SQL, oConn, 1, 2
  #2 (permalink)  
Antiguo 29/01/2007, 17:31
Avatar de vpino  
Fecha de Ingreso: diciembre-2004
Ubicación: colombia
Mensajes: 265
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: no entiendo la instruccion.

disculpen por no dejar el codigo completo: fuen un codigo que baje del foro, pero no entiendo lo del SQL, oConn, 1, 2


<%
Dim oConn, rs, SQL
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por pagina
Dim CuantosRegistros ' la cuenta que os he mencionado

'MODIFICAR AQUI PARA CAMBIAR EL Nº DE REGISTRO POR PAGINA
TamPagina=10

'Leemos qué página mostrar. La primera vez será la inicial
if Request.Querystring("pagina")="" then
PaginaActual=1
else
PaginaActual=CInt(Request.Querystring("pagina"))
end if

Creamos los objetos y definimos las propiedades del Recordset.


set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")

' Conexión por OLEDB
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source="&Server.MapPath("ejemplo.mdb")&";"
SQL="SELECT Id, Nombre, Ventas FROM Ventas;"

' Defino el tamaño de las páginas
rs.PageSize=TamPagina
rs.CacheSize=TamPagina

' Abro el recordset
rs.Open SQL, oConn, 1, 2

'Cuento las páginas
PaginasTotales=rs.PageCount

'Compruebo que la pagina actual está en el rango
if PaginaActual < 1 then
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if

Vamos a entrar ya en la paginación propiamente dicha. Primero comprobamos que la consulta nos ha devuelto datos, y luego paginamos. Llevamos en CuantosRegistros la cuenta del nº de filas que hemos sacado. Cuando llevemos TamPagina filas (10 en este caso), nos detenemos.


'Por si la consulta no devuelve registros!
if PaginasTotales=0 then

Response.Write("No se encontraron resultados.")

else

'Vamos a paginar
rs.AbsolutePage=PaginaActual
Response.Write("Pagina " & PaginaActual & " de " & PaginasTotales)
Response.Write("<br><br>")
Response.Write("<TABLE BORDER=""1"" ALIGN=""center"">")
Response.Write("<TR><TD COLSPAN=""3""><B>RESULTADOS</B></TD>")
CuantosRegistros=0
do while not rs.EOF and CuantosRegistros < TamPagina
'Pinto una línea de la tabla por cada registro
Response.Write("<TR>"&VbCrLf)
Response.Write("<TD>"&rs.Fields("Id")&"</TD>")
Response.Write("<TD>"&rs.Fields("Nombre")&"</TD>")
Response.Write("<TD>"&rs.Fields("Ventas")&"</TD>")
Response.Write("</TR>")
CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop
Response.Write("</TABLE>")

end if
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
  #3 (permalink)  
Antiguo 29/01/2007, 17:42
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: no entiendo la instruccion.

Estás llamando al método Open de un recordset, este método recibe como argumentos

SQL = Query
oConn = Conexión activa a tu base de datos

Los dos últimos números son el tipo de cursor y el tipo de cerrojo respectivamente

Cita:
In ADO there are 4 different cursor types defined:

* Dynamic cursor - Allows you to see additions, changes, and deletions by other users.
* Keyset cursor - Like a dynamic cursor, except that you cannot see additions by other users, and it prevents access to records that other users have deleted. Data changes by other users will still be visible.
* Static cursor - Provides a static copy of a recordset for you to use to find data or generate reports. Additions, changes, or deletions by other users will not be visible. This is the only type of cursor allowed when you open a client-side Recordset object.
* Forward-only cursor - Allows you to only scroll forward through the Recordset. Additions, changes, or deletions by other users will not be visible.

The cursor type can be set by the CursorType property or by the CursorType parameter in the Open method.
Fuente: http://www.w3schools.com/ado/ado_ref_recordset.asp

Salud
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:02.