Numero de resultados

20/04/2004 - 17:24 por news.terra.es | Informe spam
Estoy realizando mi proyecto fin de carrera con ASP y me ha surgido un
pequeño problema con las BD.

Tomo todos los datos desde un formulario y compruebo que no exista ningun
registro de ese usuario en esa fecha (lanzando una consulta a la base de
datos).
Si no existe ningún dato de ese usuario en esa fecha, la propiedad EOF de la
consulta debería ser = True, con lo que compongo el texto de la insercion y
la ejecuto.
En el caso de que exista algún dato de ese usuario en esa fecha, la
propiedad EOF debería ser FALSE y no relizarse la inserción... pero también
entra a componer la orden de inserción y a ejecutarla... con lo que salta un
error.

Aquí esta el código:

Dim conexion, registros,
basedatos,numero,consulta,numero2,registros_afectados, orden
consulta="SELECT * FROM LABORATORIO WHERE Num_id=' " Session("num_pac_id") +
"'" + " AND FECHA LIKE '" + request.form("fecha")+"'"
basedatos = Server.MapPath("base\pacientes.mdb")
Set conexion = Server.CreateObject("ADODB.Connection")
conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & basedatos &
";"
Set registros = conexion.Execute(consulta)
if registros.EOF then 'Si no ese paciente no tiene ningún análisis en esa
fecha, se procede a la inserción
orden="INSERT INTO LABORATORIO VALUES ('"
orden=orden + Session("num_pac_id")+"' ,'"+ request.form("fecha")+"'
,'"+request.form("urea")+"' ,'"
' (...) unas cuantas lineas para componer la inserción
conexion.Execute(orden),registros_afectados
if registros_afectados=0 then %><h1>No ha sido posible realizar la
inserción</h1><% end if
if registros_afectados=1 then %><h1>La inserción se ha llevado a cabo con
éxito </h1><% end if
else%>
<h1>No es posible realizar la inserción</h1><br><h2>El paciente ya tiene
un análisis con fecha</h2>


El texto de la inserción está bien y el de la consulta anterior también. Lo
de usar el método EOF para controlar que no hay resultado lo he probado en
otras partes del proyecto y si que funciona bien.

Muchas gracias de antemano. Ciao
 

Leer las respuestas

#1 Sashka
20/04/2004 - 18:36 | Informe spam
Que error??? en que línea??? no dices mucho...

Sashka
MS MVP Access

"news.terra.es" escribió en el mensaje
news:Sgbhc.4616949$
Estoy realizando mi proyecto fin de carrera con ASP y me ha surgido un
pequeño problema con las BD.

Tomo todos los datos desde un formulario y compruebo que no exista ningun
registro de ese usuario en esa fecha (lanzando una consulta a la base de
datos).
Si no existe ningún dato de ese usuario en esa fecha, la propiedad EOF de


la
consulta debería ser = True, con lo que compongo el texto de la insercion


y
la ejecuto.
En el caso de que exista algún dato de ese usuario en esa fecha, la
propiedad EOF debería ser FALSE y no relizarse la inserción... pero


también
entra a componer la orden de inserción y a ejecutarla... con lo que salta


un
error.

Aquí esta el código:

Dim conexion, registros,
basedatos,numero,consulta,numero2,registros_afectados, orden
consulta="SELECT * FROM LABORATORIO WHERE Num_id=' " Session("num_pac_id")


+
"'" + " AND FECHA LIKE '" + request.form("fecha")+"'"
basedatos = Server.MapPath("base\pacientes.mdb")
Set conexion = Server.CreateObject("ADODB.Connection")
conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & basedatos


&
";"
Set registros = conexion.Execute(consulta)
if registros.EOF then 'Si no ese paciente no tiene ningún análisis en esa
fecha, se procede a la inserción
orden="INSERT INTO LABORATORIO VALUES ('"
orden=orden + Session("num_pac_id")+"' ,'"+ request.form("fecha")+"'
,'"+request.form("urea")+"' ,'"
' (...) unas cuantas lineas para componer la inserción
conexion.Execute(orden),registros_afectados
if registros_afectados=0 then %><h1>No ha sido posible realizar la
inserción</h1><% end if
if registros_afectados=1 then %><h1>La inserción se ha llevado a cabo


con
éxito </h1><% end if
else%>
<h1>No es posible realizar la inserción</h1><br><h2>El paciente ya


tiene
un análisis con fecha</h2>


El texto de la inserción está bien y el de la consulta anterior también.


Lo
de usar el método EOF para controlar que no hay resultado lo he probado en
otras partes del proyecto y si que funciona bien.

Muchas gracias de antemano. Ciao


Preguntas similares