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

¿Como consulto la existencia de un campo?

Estas en el tema de ¿Como consulto la existencia de un campo? en el foro de ASP Clásico en Foros del Web. Si quisiera saber si existe un campo con el nombre de una variable mascampos? mascampos="hobbies" if rsUser("&mascampos&") then Tal como lo he puesto, me da ...
  #1 (permalink)  
Antiguo 19/12/2002, 16:46
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 5 meses
Puntos: 0
¿Como consulto la existencia de un campo?

Si quisiera saber si existe un campo con el nombre de una variable mascampos?
mascampos="hobbies"
if rsUser("&mascampos&") then

Tal como lo he puesto, me da el siguiente error:
No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
  #2 (permalink)  
Antiguo 19/12/2002, 16:52
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 23 años, 3 meses
Puntos: 5
if rsUser(mascampos) then



Creo que asi deberia funcionar, ya que el calificador de texto ya lo trae la variable ("hobbies")

Ahi me avisas si funciona.

Saludos
__________________
Manoloweb
  #3 (permalink)  
Antiguo 19/12/2002, 16:54
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 23 años, 3 meses
Puntos: 5
NOOO!!!

Creo que lo que estas buscando es mas bien algo que te cheque si existe o no...

If (Not Isempty(rsUser(mascampos))


bla bla...


O algo asi...
__________________
Manoloweb
  #4 (permalink)  
Antiguo 19/12/2002, 18:57
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 5 meses
Puntos: 0
Casi funciona, pero nop :(, Si la columna existe te lo da por bueno, pero si no existe te aparece el siguiente error:

No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
  #5 (permalink)  
Antiguo 20/12/2002, 14:12
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 5 meses
Puntos: 0
¿Nadie sabe como consultar la existencia de un campo???????
  #6 (permalink)  
Antiguo 20/12/2002, 14:32
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
controlando el error??

On error resume next
rsUser("mascampos")
if err.number<>0 then
response.write err.description 'ó
response.write "campo inexistente"
end if
  #7 (permalink)  
Antiguo 22/12/2002, 07:10
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 5 meses
Puntos: 0
¿Cómo gestiono el error?

Lo he intentado de esta forma, sin embargo, siempre me da que existe esa columna

sql = "SELECT * from users WHERE username = '" & username & "' "
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUserOpen sql, conn, 3, 3
On error resume next

If (Not Isempty(rsUser(mascampos))) then
Response.Write("Existe esa columna")
elseif Err.Number<>0 then
Err.clear
Response.Write("No existe esa columna")
end if
  #8 (permalink)  
Antiguo 22/12/2002, 11:09
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 23 años, 2 meses
Puntos: 1
Al comparar cadenas con nulos o vacios no funcionan con IsEmpty,IsNull,="", etc., de ahi q siempre te tira q existe.
Utiliza mejor : if tal_cosa<>"" then

Pero para lo q necesitas prueba con lo siguiente :

existe = false
For Each field In rsUser.Fields
if field.Name=mascampos
existe = true
exit
end if
Next field

Response.Write existe

saludos!
  #9 (permalink)  
Antiguo 25/12/2002, 11:38
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 5 meses
Puntos: 0
Hola, lo he intentado de esta forma, sin embargo me da el siguiente error:
Se esperaba un final de instrucción Next field


<%
Option Explicit
Dim mascampos, rsUser, sql, existe

mascampos = "pesca"
%>
<!--#include file="conn.asp"-->
<%
existe = false
sql = "SELECT * from users"
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.Open sql, conn, 3, 3

For Each field In rsUser.Fields
if field.Name=rsUser(mascampos) then
existe = true
end if
Next field

Response.Write (existe)

%>
  #10 (permalink)  
Antiguo 28/12/2002, 05:11
 
Fecha de Ingreso: noviembre-2002
Mensajes: 133
Antigüedad: 22 años, 5 meses
Puntos: 0
¿quien me puede corregir el error, de mi anterior mensaje????
  #11 (permalink)  
Antiguo 28/12/2002, 06:58
Avatar de korev  
Fecha de Ingreso: diciembre-2002
Ubicación: Barcelona
Mensajes: 127
Antigüedad: 22 años, 4 meses
Puntos: 0
Prueba con esto:

for each...

next ' a secas
__________________
on error... resume next
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 03:03.