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

Error: El valor de BOF o EOF es True

Estas en el tema de Error: El valor de BOF o EOF es True en el foro de ASP Clásico en Foros del Web. Saludos colegas... Estoy tratando de insertar datos y lo logro pero antes de ello quiero validar que no existan los datos para evitar repetrilos por ...
  #1 (permalink)  
Antiguo 19/12/2003, 13:01
Avatar de Mulato  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 23 años, 4 meses
Puntos: 0
Error: El valor de BOF o EOF es True

Saludos colegas...

Estoy tratando de insertar datos y lo logro pero antes de ello quiero validar que no existan los datos para evitar repetrilos por locual realizo un select para buscar y comprobar pero se me dispara este error:

El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.

Ya busque en varios temas pero no veo nada mal aparentemente, recurro a su experiencia para socorrerme...

'Ejecutamos el SQL

sqlcon = "SELECT descrip_tipo, descrip_ubicacion, cod_empresa FROM tipodocumento, ubicacion, empresa Where descrip_tipo='" &descrip_tipo& "' or descrip_ubicacion = '" &descrip_ubicacion &"' or cod_empresa = '" &cod_empresa& "' "

'Verificamos si existe la data

Set ress = cnn.Execute(sqlcon)

if ress.EOF then
Error = "Algun dato ya fue agregado, por favor ingrese otro.."
Response.Write "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
Response.Write error
Response.Write "<a href='javascript:history.go(-1)'>Regresar a la pagina anterior...</a>"
Response.Write "</font>"
Response.End
else
end if

'Cerramos el Objeto de conexión
Ress.Close
Set Ress = Nothing


Muchas Gracias
__________________
Necesito aprender para compartir mi saber...
  #2 (permalink)  
Antiguo 19/12/2003, 15:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
cambiá "if ress.EOF then" por "if ress.BOF AND ress.EOF then"
__________________
...___...
  #3 (permalink)  
Antiguo 19/12/2003, 15:49
Avatar de Mulato  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 23 años, 4 meses
Puntos: 0
Sigue el mismo error

Inserto el codigo completo aver si estoy pelado en otra cosa

<html>
<link href="../../objetos/intranet.css" rel="stylesheet" type="text/css">
<link href="../../objetos/formas.css" rel="stylesheet" type="text/css">
<body onselectstart="return false" oncontextmenu="return false" style="cursor:default" background="../image/fondodirtlelf.gif" text="#00309c" leftmargin="0" marginwidth="0" topmargin="2" marginheight="0">
<div align="center">
<!-- #INCLUDE FILE="../conexiones/con_referencial_sql.asp" -->

<%

dim sqlcont , contar, valor, sqltxt, valora, valorb, valorc
valor = 0
valora=0
valorb=0
valorc=0

'Recogemos los valores del formulario
descrip_tipo=Request.Form("descrip_tipo")
descrip_ubicacion= Request.Form("descrip_ubicacion")
descrip_empresa= Request.Form("descrip_empresa")
cod_empresa = Request.Form("rif")

'Si no escribió nada, se envía un error
IF descrip_tipo = "" and descrip_ubicacion = "" and descrip_empresa = "" and cod_empresa = "" then
Error = "Debe ingresar algun dato para actualizar..."
Response.Write "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
Response.Write error
Response.Write "<a href='javascript:history.go(-1)'>Regresar a la pagina anterior...</a>"
Response.Write "</font>"
Response.End
ELSE
valor = 1
END IF

'Confirmar duplicida

'Ejecutamos el SQL y creamos la instancia...
sqlcon = "SELECT descrip_tipo, descrip_ubicacion, cod_empresa FROM tipodocumento, ubicacion, empresa WHERE descrip_tipo='"&descrip_tipo &"' OR descrip_ubicacion = '"&descrip_ubicacion &"' OR cod_empresa = '"&cod_empresa &"' "

'Verificamos si existe la data
Set ress = cnn.Execute(sqlcon)

'Ejecuta un sentencia SQL de consulta

IF ress.BOF AND ress.EOF then
Error = "Algun dato ya fue agregado, por favor ingrese otro.."
Response.Write ress.Fields("descrip_tipo")
Response.Write "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
Response.Write error
Response.Write "<a href='javascript:history.go(-1)'>Regresar a la pagina anterior...</a>"
Response.Write "</font>"
Response.End
END IF

if descrip_tipo <> "" then
sqltxt= "INSERT INTO tipodocumento (descrip_tipo) VALUES ( '" &descrip_tipo& "')"
valora=1
else
end if
if descrip_ubicacion <> "" then
sqltxt= "INSERT INTO ubicacion (descrip_ubicacion) VALUES ( '" &descrip_ubicacion& "')"
valorb=1
else
end if
if cod_empresa <> "" and descrip_empresa <> "" and descrip_ubicacion = "" and descrip_tipo = "" then
sqltxt= "INSERT INTO empresa (cod_empresa, descrip_empresa) VALUES ( '" &cod_empresa& "','" &descrip_empresa& "' ) "
valorc=1
elseif cod_empresa <> "" and descrip_empresa <> "" and descrip_ubicacion <> "" and descrip_tipo = "" then
sqltxt= "INSERT INTO empresa (cod_empresa, descrip_empresa) VALUES ( '" &cod_empresa& "','" &descrip_empresa& "' ) "
valorc=1
elseif cod_empresa <> "" and descrip_empresa <> "" and descrip_ubicacion = "" and descrip_tipo <> "" then
sqltxt= "INSERT INTO empresa (cod_empresa, descrip_empresa) VALUES ( '" &cod_empresa& "','" &descrip_empresa& "' ) "
valorc=1
elseif cod_empresa <> "" and descrip_empresa <> "" and descrip_ubicacion <> "" and descrip_tipo <> "" then
sqltxt= "INSERT INTO empresa (cod_empresa, descrip_empresa) VALUES ( '" &cod_empresa& "','" &descrip_empresa& "' ) "
valorc=1
elseif cod_empresa <> "" and descrip_empresa = "" then
Error = "Debe ingresar el RIF, NIT y Nombre de la empresa"
Response.Write "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
Response.Write error
Response.Write "<a href='javascript:history.go(-1)'>Regresar a la pagina anterior...</a>"
Response.Write "</font>"
Response.End
elseif cod_empresa = "" and descrip_empresa <> "" then
Error = "Debe ingresar el RIFo NIT y Nombre de la empresa"
Response.Write "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
Response.Write error
Response.Write "<a href='javascript:history.go(-1)'>Regresar a la pagina anterior...</a>"
Response.Write "</font>"
Response.End
end if
'Ejecutamos la orden
Set res = Cnn.Execute(sqltxt)

%>
</div>
<h1>
<!-- #INCLUDE FILE="../conexiones/con_referencial_sql.asp" -->
<% 'Ejecuta un sentencia SQL de consulta
If valor = 1 then
sql = "SELECT descrip_tipo, descrip_ubicacion, cod_empresa, descrip_empresa FROM tipodocumento, ubicacion, empresa Where descrip_tipo='" &descrip_tipo& "' or descrip_ubicacion = '" &descrip_ubicacion &"' or cod_empresa = '" &cod_empresa& "' or descrip_empresa = '" &descrip_empresa& "' "
Set result = cnn.Execute(sql)
else
end if
%>
<div align="center">
<font size="4" color="#6060f4" face="Verdana,Arial,Helvetica,sans-serif">Nuevos datos agregados</font><font color="#6060f4"></font><font color="#6060f4" face="Verdana, Arial, Helvetica, sans-serif" size="2">

<br>
</font>
<table cellspacing=0 cellpadding=0 width="90%" border=0 valign="top" background="../../empresa/corporativas/gct/image/tabla.gif">
<tbody>
<tr>
<td class=plaint valign=top align=right width="4">
<div align="left">
<img src="../../empresa/corporativas/gct/image/pesder.gif"></div>
</td>
<td class=plaint width="100%">
<div align="left">
<font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" color="white" size="2"><b>- Detalles del Documento...</b></font></div>
</td>
<td class=plaint valign=top align=right width="4">
<div align="left">
<img src="../../empresa/corporativas/gct/image/pesizq.gif"></div>
</td>
</tr>
</tbody>
</table>
<img height=1 src="../../empresa/corporativas/gct/image/line.gif" width=10><br>
<table width="90%" border="0" cellspacing="1" bgcolor="#6060f4">
<tr align="right">
<td bgcolor="#dddddd" width="30%">
<div align="center">
<font size="2" color="#6060f4" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular"><b>Datos a Ingresar</b></font></div>
</td>
<td bgcolor="#dddddd" width="70%">
<div align="center">
<font size="2" color="#6060f4" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular"><b>Descripci&oacute;n</b></font></div>
</td>
</tr>
<tr>
<td width="30%" bgcolor="#e8effd">
<div align="right">
<b><font size="2" color="#555555" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">Tipo de Documento : </font></b></div>
</td>
<td bgcolor="white" width="70%"><font color="#6060f4"><%
If valora = 1 then
Response.Write "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
Response.Write result.Fields("descrip_tipo")
Response.Write "</font>"
else
end if%></font></td>
</tr>
<tr>
<td width="30%" bgcolor="#e8effd">
<div align="right">
<b><font size="2" color="#555555" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">Empresa Contratista : </font></b></div>
</td>
<td bgcolor="white" width="70%"><font size="1" color="#6060f4" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular"><b><%

If valorc = 1 then
Response.Write "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
Response.Write result.Fields("descrip_empresa")
Response.Write "</font>"
else
end if%></b></font></td>
</tr>
<tr>
<td width="30%" bgcolor="#e8effd">
<div align="right">
<b><font size="2" color="#555555" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">RIF O NIT de la Empresa : </font></b></div>
</td>
<td bgcolor="white" width="70%"><%
if valorc=1 then
Response.Write "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
Response.Write result.Fields("cod_empresa")
Response.Write "</font>"
else
end if%></td>
</tr>
<tr>
<td width="30%" bgcolor="#e8effd">
<div align="right">
<b><font size="2" color="#555555" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">Ubicaci&oacute;n Fisica :</font></b></div>
</td>
<td bgcolor="white" width="70%">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="120">
<div align="left">
<font color="#6060f4"><%
if valorb=1 then
Response.Write "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
Response.Write result.Fields("descrip_ubicacion")
Response.Write "</font>"
else
end if%></font></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<h1><br>
<div align="center">
<p></p>
</div>
</h1>
<p><font colo6060f4"><b>
<%
'Cerramos el Objeto de conexión
ress.Close
Set ress = Nothing
Result.Close
Set Result = Nothing
cnn.Close
Set cnn = Nothing %>
</b></font><font size="2" color="#6060f4" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular"><b>Presione <a href="javascript:history.go(-1)">aqu&iacute;</a> si desea corregir de nuevo sus datos, presione <a href="../dirtelf/principal.html">aqu&iacute;</a> para regresar al directorio... </b></font><font color="#6060f4" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular"><b><a href="javascript:history.go(-1)"><br>
</a></b></font></p>
</div>
<div align="center">

</div>
</BODY>
</HTML>
__________________
Necesito aprender para compartir mi saber...
  #4 (permalink)  
Antiguo 19/12/2003, 23:48
 
Fecha de Ingreso: febrero-2003
Mensajes: 2
Antigüedad: 22 años, 2 meses
Puntos: 0
Este error normalmente lo da porque no corresponde los campos de la BD con los solicitados,
Osea si tu tienes en tu tabla todos los campos en forma de texto o algunos en formato numerico la entrada de seleccion para numericos no van las comillas simples.
ve esto y cuentame
  #5 (permalink)  
Antiguo 22/12/2003, 07:22
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 21 años, 6 meses
Puntos: 13
El error te lo da esta linea:

Response.Write ress.Fields("descrip_tipo")

Lo que haces es decir si no existe ningun dato, muestrame el datos descript_tipo, y claro da error.

Prueba cambiando:

IF ress.BOF AND ress.EOF then

Por:

if not ress.BOF then

No se si esto hara lo que quieres, pero al menos no dará error... creo.
  #6 (permalink)  
Antiguo 22/12/2003, 07:44
Avatar de Mulato  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 23 años, 4 meses
Puntos: 0
Saludos colegas...

Ya probe todas las sugerencias...

a.- Cambiando con comillas simples, me da error por sintaxis... Así que coloque de nuevo las comillas.

b.- Coloque IF ress.BOF AND ress.EOF then y me sigueenviando el mismo error...

c.- Cambie IF ress.BOF AND ress.EOF por IF not ress.BOF then aunque cuando funciono estaba así: IF not ress.EOF then y tampoco funciona...

Lo que no entiendo es que de repente empezo a funcionar, agregue varios registros de prueba y cuando fui a la BD y limpie las tablas para empezar a ingresar la data nuevamente me empezo a reventar de nuevo el error, LA BD es SQL Server 2000....
__________________
Necesito aprender para compartir mi saber...
  #7 (permalink)  
Antiguo 22/12/2003, 08:27
Avatar de Mulato  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 23 años, 4 meses
Puntos: 0
Algo que onservo es que si agrega el dato en la BD pero envia el error...
__________________
Necesito aprender para compartir mi saber...
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 08:25.