Campo vacio

rony
09 de Junio del 2004
Hola,

mi problema es que despues de obtener el recordset con los datos de una query, intento meter en una variable un campo que a veces esta vacio en la base de datos, y cuando hago el if para ver si esa variable esta vacia me casca.
El codigo es:

set rs = Server.CreateObject("ADODB.RecordSet")

sqlstr = "SELECT Value1,Value2 from DDBB where User_Code = '" & username & "'"
rs.open sqlstr,con
bool_var = false
if rs.EOF and rs.BOF then
bool_var = true
end if

While Not rs.EOF
value1 = rs("Value1")
value2 = rs("Value2")
rs.MoveNext
Wend

if value2 = "" then
response.write("ENTRA")
bool_var = true
end if

El valor rs("Value2") en la base de datos esta vacio a veces, y cuando lo intento comparar con "" para ver si esta vacio, pues no funciona, y la variable bool_var siempre vale false.

A ver si alguien me puede echar una mano y me dice como puedo hacer el if para ver que el valor devuelto por el campo Value2 esta vacio.

Gracias

orion
09 de Junio del 2004
Hola, prueba modificando algunas lneas del cdigo con algo as

value2 = Cstr(rs("Value2"))
if Cstr(value2) = "" then

Otra cosa, seguro que est vaco y no tiene por ejemplo un caracter en blanco? En ese caso puedes usar la funcin trim

Saludos

rony
09 de Junio del 2004
pues nada, no me funciona.
Con el Cstr me da el error:
Error Type:
Microsoft VBScript runtime (0x800A005E)
Invalid use of Null: 'Cstr'
/fish/elogBook.asp, line 39

y con el trim no entra en el if.
Tambien he probado haciendo un len(rs("Value2") ) y ni siquiera me devuelve un 0. No devuelve nada, como si no fuera un string.
Alguna otra idea?

rony
09 de Junio del 2004
Ya he encontrado la solucion!!!
he encontrado la funcion isnull y funciona. Lo que he hecho es:

if isnull(value2) = true then
...
end if

Espero que le sea de ayuda a otra persona.