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

Error al tener un campo vacio del form (Form>ASP>DB), que puedo hacer?

Estas en el tema de Error al tener un campo vacio del form (Form>ASP>DB), que puedo hacer? en el foro de ASP Clásico en Foros del Web. Buenas buenas!! Si, he buscado en el foro, pero las respuestas o no funcionan o no las entiendo... Tengo un formulario de un solo campo, ...
  #1 (permalink)  
Antiguo 10/01/2005, 14:32
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 20 años, 4 meses
Puntos: 1
Pregunta Error al tener un campo vacio del form (Form>ASP>DB), que puedo hacer?

Buenas buenas!!
Si, he buscado en el foro, pero las respuestas o no funcionan o no las entiendo...

Tengo un formulario de un solo campo, que debe ser llenado para que se comunique con este ASP:

<html>
<head><title>Paginar resultados de consulta</title></head>


<%
DNI = Request.Form("DNI")

'Conexion a tu base de datos
StrConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("database/userREG.mdb")

SQL="SELECT DNI, CGarantia, Cliente, DirCliente, TelCliente, Fecha FROM userVENTA Where DNI='" & DNI & "'"

'Configurar aqui los registros por página
num_registros = 20

'actualizamos la pagina actual
if (request.queryString("pag") <> "") then
pagina_actual = request.queryString("pag")
else
pagina_actual = 1
end if

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open StrConn
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open sql,oConn,3,1

RS.pageSize = num_registros
RS.absolutePage = pagina_actual
cantidad_campos = RS.Fields.Count
%>

<body>
<div align="center">
Página actual: <b><%= pagina_actual %></b><br>
Cantidad de páginas: <b><%= RS.PageCount %></b><br>
Registros por página: <b><%= RS.PageSize %></b><br>
Registros totales: <b><%= RS.RecordCount %></b>
</div>
<br><br>

<table cellspacing="2" cellpadding="2" border="1" align="center">
<tr>
<%
For campo = 0 to cantidad_campos - 1 %>
<td align="center"><%=RS(campo).Name%></td>
<% Next %>
</tr>
<%
registros_mostrados = 0
While (Not RS.eof And registros_mostrados < num_registros)
registros_mostrados = registros_mostrados +1
%>
<tr>
<%For campo=0 to cantidad_campos - 1 %>
<td align="center"><%=RS(campo)%></td>
<%Next%>
</tr>
<%
RS.MoveNext
Wend
%>
<tr>
<td colspan="<%=cantidad_campos%>" align="center">
<%
i=1
Do While i < RS.PageCount
%>
<b><a href="verBASE.asp?pag=<%=i%>"><%=i%></a></b>
<%
i=i+1
Loop
%>
</td>
</tr>
</table>
<%
'Limpiamos los objetos (SIEMPRE)
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing
%>
</body>
</html>


para que luego me de los detalles de una base de datos.

Si el campo es llenado correctamente, no hay problemas . Pero si se llena mal (con datos erroneos) o no se llena, me da un error y no puedo dirijir al usuario a ningun lugar aceptable , como sea nuevamente la pagina del formulario u otra que me diga que hay un error y me haga volver.

Alguna idea?

para mas info, la manera de llegar a este asp, como podran imaginar es con un simple formulario, se llena, se envia y se comunica con el ASP, para que este verifike si los datos son correctos o no en la base de datos...

bien, gracias por cualquier idea... y ahi arriba esta el codigo con solo este problemita :P
  #2 (permalink)  
Antiguo 10/01/2005, 14:52
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 4 meses
Puntos: 0
ABAJO de esto, pone

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open StrConn
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open sql,oConn,3,1
'===========empieza sugerencia
if rs.EOF then
response.redirect("error.asp")
end if
'===========termina sugerencia

en el caso que alguien te ingrese algo invalido, te va ad ar eof. Entonces te va a mandar a la pag error.asp deonde le podes poner el texto que te guste y un link a que ingrese de vuelta el dni

saludos.
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet
  #3 (permalink)  
Antiguo 10/01/2005, 14:56
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 20 años, 4 meses
Puntos: 1
Excelente, vere que sale!!

daenor


"no es facil ser soldado" jeje!!
  #4 (permalink)  
Antiguo 11/01/2005, 05:21
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 20 años, 4 meses
Puntos: 1
Excelente!!! Funciono a la perfeccion!!

Ahora,me pregunto, que quiere decir eso que pusiste?

if rs.EOF then
response.redirect("error.asp")
end if

como trabaja el "if rs.EOF" ??

por cierto,el codigo de l apagina no lo hice yo,es por eso que quizas no entienda muy bien que sucede,solo lo lei y cambie algunos valores que meservirian luego a m, es mi manera de aprender

bien,muchisimas gracias!!!! y un para ti !!!
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 19:13.