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

Problemas con sentencia if then else

Estas en el tema de Problemas con sentencia if then else en el foro de ASP Clásico en Foros del Web. Hola a todos tengo un problema con la sentencia if then else ya que entra perfectamente a la sentencia if graba con el stored procedure ...
  #1 (permalink)  
Antiguo 30/04/2007, 10:29
 
Fecha de Ingreso: abril-2007
Mensajes: 8
Antigüedad: 18 años
Puntos: 0
Problemas con sentencia if then else

Hola a todos tengo un problema con la sentencia if then else ya que entra perfectamente a la sentencia if graba con el stored procedure pero no me redirecciona a la pagina imprimir sino que se ejecuta el resposne.write del else y me envia el mensaje de que ya existen los datos siendo que ya me grab en la b.d. les envio como tengo el codigo.....

<%
'verifico si existe el dato en la B.D.
Set rs=Server.CreateObject("adodb.recordset")
temp2="select * from tabla where campo="&request.form("var")&"'"
rs.Open temp2,conn
'reviso si existe informacion
IF rs.eof THEN ' si esta vacio entra a grabar a la b.d.
rs.close
Set param=Server.CreateObject("adodb.recordset")
temp="Select * from tabla2"
param.Open temp,conn

Set rs2=Server.CreateObject("adodb.recordset")
temp1="select * from tabla3"
rs2.Open temp1,conn

'tengo un if mas para formar la llaver primaria
if rs2.fields("consec") <> "" then
sentencia1
else
sentencia2
End if
'grabo en la b.d. con un stored procedute
conn.Execute "EXEC StoredProcedure " & variable1 & ",'" & variable2 & "'"
'cierro conexiones
rs2.close
param.close
conn.close
set conn=nothing
'redicciona a la pagina imprimir que es un formato con los valores que se grabaron
Response.Redirect ("imprimir.asp?campo="&variable1)
ELSE 'si exite informacion en el rs cierro conexion y escribo que los datos ya existe
rs.close
conn.close
set conn=nothing
Response.Write("Los datos ya existen")
END IF%>

nose porque se esta ejecutando el response write si me grabo los datos en la b.d. con el store procedure que esta en el if.

les agradezco de antemano su ayuda..
Atte. Ana
  #2 (permalink)  
Antiguo 30/04/2007, 10:47
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Re: Problemas con sentencia if then else

Response.Redirect ("imprimir.asp?campo="&variable1)

en lugar de eso pon un response.write "si ingreso"

para ver si realmente ingresa o no
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 30/04/2007, 11:12
 
Fecha de Ingreso: abril-2007
Mensajes: 8
Antigüedad: 18 años
Puntos: 0
Re: Problemas con sentencia if then else

gracias por tu ayuda....cambie lo que me comentas pero despliega el mensaje de que ya existe informacion ... lo extraño de todo esto es que tambien entra al if porque me graba la informacion en la base de datos, pero no me ejecuto el response.write("ingreso")
  #4 (permalink)  
Antiguo 30/04/2007, 11:23
 
Fecha de Ingreso: abril-2007
Mensajes: 8
Antigüedad: 18 años
Puntos: 0
Re: Problemas con sentencia if then else

hice otra prueba quite el else del codigo unicamente deje el if y por logica no me envia ningun mensaje pero no reedirecciona a la pagina imprimir se queda en esa pagina y la deja en blanco per si me manda a grabar en la base de datos el rs que tengo es un select a la misma tabla donde graba el stored procedure crees que sea algun conflicto porque si le quito la consulta y el if todo se ejecuta perfectamente.

pero el problema es que quiero detectar si existe o no la info que quiere grabar en la b.d.
  #5 (permalink)  
Antiguo 30/04/2007, 13:44
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Problemas con sentencia if then else

intenta verificando tu sentencia de entrada

falta un apostrofe
temp2="select * from tabla where campo= " & request.form("var") & " ' "

deberia ser asi
temp2="select * from tabla where campo= ' "&request.form("var")& " ' "

y en la pregunta
IF rs.eof THEN ' si esta vacio entra a grabar a la b.d.

verifica que no sea el final del recordset
IF rs.eof=FALSE THEN ' si esta vacio entra a grabar a la b.d.

solo como verificaciones

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 30/04/2007, 14:22
 
Fecha de Ingreso: abril-2007
Mensajes: 8
Antigüedad: 18 años
Puntos: 0
Re: Problemas con sentencia if then else

gracias por tu ayuda pero hice lo que me escribiste pero ahora no entra al if ya no me graba en la base de datos....


nose si tengo conflicto entre el primer query que es el que verifica si existe el dato en la base de datos y el stored procedure ya que los dos afectan a la misma tabla aunque el primer query(recordset) lo estoy cerrando encuanto entra a la base de datos.

alguien que me ayude pleaseeeeeeeeeeeeeeeessssssssssss
gracias de antemano
  #7 (permalink)  
Antiguo 30/04/2007, 16:31
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Problemas con sentencia if then else

una pregunta

el campo si es texto?????

y como duda

que se supone que realizan estas acciones... para que las consultas???
Código:
 
 Set param=Server.CreateObject("adodb.recordset")
 temp="Select * from tabla2"
 param.Open temp,conn 
 Set rs2=Server.CreateObject("adodb.recordset")
 temp1="select * from tabla3"
 rs2.Open temp1,conn 
 'tengo un if mas para formar la llaver primaria 
 if rs2.fields("consec") <> "" then
  sentencia1
 else
  sentencia2
 End if
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #8 (permalink)  
Antiguo 02/05/2007, 10:42
 
Fecha de Ingreso: abril-2007
Mensajes: 8
Antigüedad: 18 años
Puntos: 0
Re: Problemas con sentencia if then else

hola!!!
sobre la primer pregunta el campo si es texto.

la segunda creo dos recordset el primero me consulta la tabla de parametros donde obtengo un valor que forma la llave primaria, el 2do recordset lo que hace es que me trae el ultimo consecutivo de la tabla y con ese mas el parametro me forman la llave primaria y es la que envio en el stored procedure

agradezco la ayuda que me estan brindando pero no he podido lograr que funcione
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 21:23.