Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/05/2005, 09:24
Avatar de Kenshin
Kenshin
 
Fecha de Ingreso: agosto-2004
Ubicación: Mexico
Mensajes: 47
Antigüedad: 20 años, 8 meses
Puntos: 0
Espero que te sirva este pequeño ejemplo

<%
'Comienzo del programa de captura de datos
set oConn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
'Para conectar a la base de datos, utiliza una de estas conexiones
'Access con OLEDB:
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= " & Server.MapPath("base.mdb")
'SELECT * FROM ... devuelve todas las filas de la tabla
SQL="SELECT * FROM TablaEjemplo ORDER BY Id"
'Abro el Recordset con la sentencia SQL
'definiendo oConn como el objeto Connection
'y cursor 1 y lock(cerrojo) 2
'Identifica el tipo del Browsner que usa el cliente
'===========================================
rs.Open SQL, oConn, 1, 2
'Añado uno nuevo: a partir de ahora metos los datos del nuevo registro
rs.AddNew
rs.Fields("Fecha")=Date
rs.Fields("IP") = Request.ServerVariables("REMOTE_ADDR")
rs.Fields("Software") = Request.ServerVariables("SERVER_SOFTWARE")
str_varserver=request.servervariables("http_user_a gent")
response.write "PROGRAMA DE MATENIMIENTO DE PC"
str_temp=mid(str_varserver,instr(str_varserver,"(" )+1)
str_temp=mid(str_temp,1,instr(str_temp,")")-1)
mat=split(str_temp,";")
explorador=mid(str_varserver,1,instr(str_varserver ,"(")-1)+mat(1)
rs.Fields("Internet Explorer") = explorador
rs.Fields("Sistema Operativo") = trim(mat(2))
xy=len(request.servervariables("http_user_agent"))
if xy<=55 then
rs.Fields("Service Pack") = "No tiene instalado el Ser Pack"
else
rs.Fields("Service Pack") = trim(mat(3))
end if
'Guardo los cambios
rs.Update
'Después de guardar, el campo autonumérico
'ya está disponible
'iRegistro = rs.Fields("Id")
'Me muevo al primero
rs.MoveFirst
'Y pinto la tabla
'PintarTabla
'Cierro y destruyo objetos
rs.Close
'Antes llamo a mantenimiento!
Mantenimiento
set rs = nothing
oConn.Close
set oConn = nothing
'end if
'================================================= =======
Sub PintarTabla ()
'Utiliza el objeto rs abierto
'para pintar la tabla
Response.Write( "<TABLE BORDER=""1"">" & vbCrlf)
Response.Write( "<TR>" & vbCrlf)
Response.Write( "<TD><B>Id</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Fecha</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Dirección IP</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Internet Explorer</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Sistema Operativo</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Service Pack</B></TD>" & vbCrlf )
Response.Write( "<TD><B>Software</B></TD>" & vbCrlf )

while not rs.EOF
'Imprimo una fila de la tabla
'para cada registro que encuentre
Response.Write( "<TR>" & vbCrlf )
Response.Write( "<TD>" & rs.Fields("Id") & "</TD>" )
Response.Write( "<TD>" & rs.Fields("Fecha") & "</TD>" )
Response.Write( "<TD>" & rs.Fields("IP") & "</TD>" )
Response.Write( "<TD>" & rs.Fields("Internet Explorer") & "</TD>" )
Response.Write( "<TD>" & rs.Fields("Sistema Operativo") & "</TD>" )
Response.Write( "<TD>" & rs.Fields("Service Pack") & "</TD>" )
Response.Write( "<TD>" & rs.Fields("Software") & "</TD>" )
Response.Write( "</TR>" & vbCrlf )
'Pasamos al siguiente registro
rs.MoveNext
'Olvidarte esto significa que vas a imprimir
'siempre el mismo registro... Un bucle infinito!
wend
'Cierro la tabla
Response.Write("</TABLE>")
End Sub 'PintarTabla
'===========================================
Sub Mantenimiento
'Para mantener la tabla en un tamaño manejable...
rs.Open SQL, oConn, 1, 2
'RecordCount me devuelve el nº de registros
iCuantos = rs.RecordCount
'Si tengo más de 10000, voy borrando...
while iCuantos > 10000

rs.MoveFirst
rs.Delete
rs.Update
iCuantos = iCuantos - 1
wend
'Ahora si, cierro el Recordset
rs.Close
End Sub
%>