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

Obterner con fields del recordset el tamaño y el tipo

Estas en el tema de Obterner con fields del recordset el tamaño y el tipo en el foro de ASP Clásico en Foros del Web. Hola.- Hasta ahora siempre he podido obtener con fields el valor de un recordset, el nombre del campo y el número total de campos con ...
  #1 (permalink)  
Antiguo 16/06/2005, 12:00
 
Fecha de Ingreso: marzo-2004
Mensajes: 174
Antigüedad: 21 años, 1 mes
Puntos: 1
Obterner con fields del recordset el tamaño y el tipo

Hola.-

Hasta ahora siempre he podido obtener con fields el valor de un recordset, el nombre del campo y el número total de campos con los comandos
rs.Fields.Count
rs.Fields(i).Name
rs.Fields(i)

Pero existe alguna manera de obtener el tipo del campo (si es numérico, fecha...) y otro que te diga el tamaño de ese campo (Ej: 40 carácteres)

He probado con todas las combinaciones posibles de type, size y length, pero nada.

Muchas gracias
  #2 (permalink)  
Antiguo 16/06/2005, 12:14
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años
Puntos: 2
Hola!

La verdad no se si existe esa opción, pero puedes hacerlo en ASP normal, como:

var = Cstr(rs("Count"))

Response.write "Largo: " & Len(var)

El tipo del campo no se, y aunque puedes hacer cosas como:

if IsNumeric(var)
Tipo = "numerico"
elseif IsDate(var)
Tipo = "Fecha"
end if

Ese metodo no seria correcto, pero bueno, alguien por ahí tiene que saber.

Suerte.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #3 (permalink)  
Antiguo 16/06/2005, 12:27
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
rs(x).Type

Y tienes que hacer pruebas porque te regresa el valor numerico, o sea la constante para este tipo de dato.

Salu2,

Editando:

Complementando info:
http://msdn.microsoft.com/library/de...tatypeenum.asp

se me olvido el tamano...creo que es la propiedad definedSize
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Última edición por u_goldman; 16/06/2005 a las 12:45
  #4 (permalink)  
Antiguo 17/06/2005, 10:37
 
Fecha de Ingreso: marzo-2004
Mensajes: 174
Antigüedad: 21 años, 1 mes
Puntos: 1
Efectivamente con rs(x).Type obtengo un número dependiendo que tipo sea cada uno, pero por ejemplo, asi no hay manera de saber si ese campo es autonumérico o no, pues simplemente me da 3 (que me lo da en todos los campos que sean Enteros Largos).

Estoy revisando todos los comandos que conozco de ASP y no veo como obtener si un campo sacado de una BD es o no es autonumérico.

¿alguna idea?, gracias.
  #5 (permalink)  
Antiguo 17/06/2005, 10:40
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Revisaste el link que te puse??
Son los tipos que puedes obtener, obviamente a partir del valor querras hacerte un interprete dependiendo del tipo.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 18/06/2005, 17:12
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 2 meses
Puntos: 6
Cita:
Iniciado por Brewster
rs.Fields(i).Name
¡Utilísimo! No lo conocía, y lo que he tenido que hacer para obtener el nombre del campo...

Respecto a lo que comentas, yo lo haría, en lugar de con acciones sobre el RecordSet (que seguramente no se pueda), con consultas a la base de datos.
  #7 (permalink)  
Antiguo 19/06/2005, 01:41
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 7 meses
Puntos: 18
Gran cosa esto de los manuales....
Vartype()
vbEmpty 0 Empty (sin inicializar)
vbNull 1 Null (datos no válidos)
vbInteger 2 Entero
vbLong 3 Número entero largo
vbSingle 4 Número de punto flotante de precisión simple
vbDouble 5 Número de punto flotante de precisión doble
vbCurrency 6 Moneda
vbDate 7 Fecha
vbString 8 Cadena
vbObject 9 Objeto de automatización
vbError 10 Error
vbBoolean 11 Booleano
vbVariant 12 Variant (usada sólo con matrices de tipo Variant)
vbDataObject 13 Un objeto de acceso de datos
vbByte 17 Byte
vbArray 8192 Matriz
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 15:51.