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

Problema con IsNull()

Estas en el tema de Problema con IsNull() en el foro de ASP Clásico en Foros del Web. Hola a todos, he revisado los foros sobre este punto pero a pesar que he hecho lo que dicen en los posts mi código no ...
  #1 (permalink)  
Antiguo 02/09/2005, 10:31
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
Pregunta Problema con IsNull()

Hola a todos, he revisado los foros sobre este punto pero a pesar que he hecho lo que dicen en los posts mi código no anda. Tengo lo siguiente:

sql = "select max(cod_doc) as codigo from Documento"
rs = conexion.Execute(sql)

if isNull(rs("codigo")) then
ultimo = 0
end if

pero me sale este error:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A005E)
Uso no válido de Null.


Mi tabla se encuentra vacía, y la idea es que si está vacío entonces asigne el valor 0 a la variable último. Alguien podría ayudarme con esto por favor??
__________________
Tarecito
  #2 (permalink)  
Antiguo 02/09/2005, 10:47
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Algo asi, aunque no estoy seguro que realmente aplique la segunda condicion, ya que si no es eof, trae un valor...en fin, cuestion de probar


Código:
sql = "select max(cod_doc) as codigo from Documento"
rs = conexion.Execute(sql)

if not rs.eof then
  if isNull(rs("codigo")) then
    ultimo = 0
  else
    ultimo = rs("codigo")
  end if
else
  ultimo = 0
end if
Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 02/09/2005, 10:47
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
podés hacer ésto:

var_codigo = rs("codigo")
if var_codigo = "" then


o éto, que es lo mismo pero en una sóla línea:
if "" & rs("codigo") = "" then

Lo raro es que te de error ahí... a mi, que recuerde, ese error me ocurre al hacer un replace() donde hay un null
__________________
...___...
  #4 (permalink)  
Antiguo 02/09/2005, 10:49
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
le diste en el clavo AZ justo despues de eso le hago un replace asi:

ultimo = Trim(rs("codigo")) + 1
ultimo = Replace(Space(8 - Len(ultimo)), " ", "0") & ultimo &"-"&digano

pero si falla en este punto es porque no me está cambiando la variable "ultimo" a ceo (0)
__________________
Tarecito
  #5 (permalink)  
Antiguo 02/09/2005, 11:00
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
cuando pongo el codigo del amigo u_goldman me bota este error:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A01B6)
El objeto no acepta esta propiedad o método: 'eof'

y cuando pongo el codigo de AZ me sale esto:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A005E)
Uso no válido de Null

imagino q en ambos casos es por el replace que vien luego... o no? (disculpen la ignorancia)
__________________
Tarecito
  #6 (permalink)  
Antiguo 02/09/2005, 11:02
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Trata asi:


Código:
sql = "select max(cod_doc) as codigo from Documento"
Set rs = conexion.Execute(sql)

if not rs.eof then
  if isNull(rs("codigo")) then
    ultimo = 0
  else
    ultimo = rs("codigo")
  end if
else
  ultimo = 0
end if
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 02/09/2005, 11:11
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
hice ese cambio y ahora me sale este error:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A005E)
Uso no válido de Null

pero en esta línea:

ultimo = Replace(Space(8 - Len(ultimo)), " ", "0") & ultimo &"-"&year
__________________
Tarecito
  #8 (permalink)  
Antiguo 02/09/2005, 11:23
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Tarecito, al menos pon un poco de voluntad, hazte un response.write de estos valores, debuguea, utiliza typename(variable) para saber cual es la que esta llegando nula.

__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 02/09/2005, 11:32
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
ya lo hice, el valor de la variable codigo es null y el de ultimo tambien es null, parece q no esta seteando el valor de ultimo a 0
__________________
Tarecito
  #10 (permalink)  
Antiguo 02/09/2005, 11:34
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
mmmm... q raro, le puse comillas dobles en:

ultimo = 0 ----> ultimo = "0"

y ahi si funciona, pero no se como rayos graba en el base de datos si el campo a grabar está como int de 4
__________________
Tarecito
  #11 (permalink)  
Antiguo 02/09/2005, 11:51
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
No entiendo tu ultima pregunta, pero si tienes un campo entero obviamente no guardara un valor del tipo 01, guardara un 1

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #12 (permalink)  
Antiguo 02/09/2005, 12:06
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
ya lo solucione, el problema es que no habia comentado una linea que estaba más arriba donde la variable ultimo tenia un valor 1 pero como cadena y no como número. Muchas gracias a todos en especial a u_goldman que cada vez q posteo lo hago renegar
__________________
Tarecito
  #13 (permalink)  
Antiguo 09/09/2005, 15:31
Avatar de g33k.gu  
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 18 años, 9 meses
Puntos: 0
Haz El Null En El Ansi Del Sql.... Y Te Evitas De Broncas
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:19.