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

nombre de los campos en la tabla

Estas en el tema de nombre de los campos en la tabla en el foro de ASP Clásico en Foros del Web. buenas noches. es posible consultar el nombre de los campos de una tabla ? salu2....
  #1 (permalink)  
Antiguo 27/01/2007, 14:33
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
nombre de los campos en la tabla

buenas noches.

es posible consultar el nombre de los campos de una tabla ?

salu2.
  #2 (permalink)  
Antiguo 27/01/2007, 16:07
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

Es posible, busca en las propiedades del recordset, me parece que es fields.name o algo asi, si encuentro un link te lo paso.

Si estas trabajando en SQL podrias hacer un query al information schema, y creo que en las FAQs hay una funcion que te da la estructura de tu base de datos.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 27/01/2007, 16:08
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

buenas noches

SQL Server

salu2.
  #4 (permalink)  
Antiguo 27/01/2007, 16:15
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

http://msdn2.microsoft.com/en-us/lib...8(SQL.80).aspx
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 27/01/2007, 16:31
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

tendría que obtenerlos directamente de la tabla.

para lo que me comentas, sería:

La información de los campos en un RECORDSET se almacena en rs.fields.
dado que todos los campos de rs.fields tienen un valor de indice, el nombre se puede obtener con la expresión rs.fields(i).name

algo así:

for (i=0;i<rs.fields.count;i++)
{
var matriz;
matriz[i] = rs.fields(i).name;
}

pero hay algun metodo para conocer los nombres de los campos en LA TABLA

gracias por estar aquí.
  #6 (permalink)  
Antiguo 27/01/2007, 17:26
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

Bueno, aqui esta digerido...esto te regresa todos tus campos de una tabla especifica, puedes traer un recordset

Código:
select COLUMN_NAME from INFORMATION_SCHEMA.columns 
where table_name = 'tu_tabla'
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 27/01/2007, 18:03
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

muy buena la cena , gracias .

salu2.
  #8 (permalink)  
Antiguo 29/01/2007, 18:27
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

lo he probado y solo me devuelve el nombre del primer campo de la tabla.

me devuelve un solo valor:

numero = rs.fields.count = 1;
nombre = rs.fields(0) = nombreprimercampotabla;

¿cual es la forma de solucionarlo?

salu2.
  #9 (permalink)  
Antiguo 29/01/2007, 18:30
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

Pon tu codigo, la sentencia es correcta.

saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 29/01/2007, 18:36
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

hola:

<%@ LANGUAGE=javascript %>

<%

CONN = Server.CreateObject("ADODB.Connection")
CONN.ConnectionString = "dRIVER=SQL Server; UID=usuario; pwd=contraseña; DATABASE=nombredb;APP=Microsoft Open Database Connectivity;SERVER=000.000.000.000"
CONN.open

var sqlnca = "select COLUMN_NAME from INFORMATION_SCHEMA.columns where table_name = 'nombretabla'";
rs = Server.CreateObject("ADODB.RecordSet");
rs.Open(sqlnca,CONN);


var i="";
var nombres="";
numero = rs.fields.count;

for (i=0;i<rs.fields.count;i++)
{
nombres += rs.fields(i);
}

Response.Write(numero);
Response.Write(rs.fields(0));
Response.Write(nombres);

%>
  #11 (permalink)  
Antiguo 29/01/2007, 18:42
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

A ver, trata especificando un tipo de cursor y de cerrojo:

rs.Open(sqlnca, CONN, 3, 3);

for ( i == 0; i < rs.Count; i++ )
...
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #12 (permalink)  
Antiguo 29/01/2007, 18:51
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

hola:

no ha dado resultado.
  #13 (permalink)  
Antiguo 29/01/2007, 19:03
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

Pues no se, trata de abrir tu query analyzer y correr esa consulta a ver que es lo que te devuelve.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #14 (permalink)  
Antiguo 30/01/2007, 06:31
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

hola, buenos dias:

la db la tengo alojada, que query analyzer podría utilizar ?

salu2.
  #15 (permalink)  
Antiguo 30/01/2007, 10:10
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

Si te refieres a que la base de datos es remota, no importa, de todas maneras tienes los datos de conexion, necesitas un cliente de SQL para poder conectarte, eso o buscar en google uno, existen algunos hechos para MSDE, que no son tan malos.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #16 (permalink)  
Antiguo 30/01/2007, 11:53
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

hola:

serias tan amable d indicarme ?

salu2.
  #17 (permalink)  
Antiguo 30/01/2007, 12:09
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

Indicarte qué? podrías elaborar un poco más tus respuestas/preguntas? de modo que esto no se convierta en un chat?

Gracias
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #18 (permalink)  
Antiguo 30/01/2007, 13:14
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

ok,

intento migrar de sql server 5.0., pero de momento es lo que hay,

corriendo MSDE en mi equipo local con SSMSE ?
o bien Microsoft SQL Server 2005 Express Edition con SSMSE ?

me recomiendas otro motor y otro cliente ?

puedo comprobar la consulta q nos ocupa ?

salu2.
  #19 (permalink)  
Antiguo 30/01/2007, 13:25
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: nombre de los campos en la tabla

Cita:
Iniciado por evoarte Ver Mensaje
ok,

intento migrar de sql server 5.0., pero de momento es lo que hay,

corriendo MSDE en mi equipo local con SSMSE ?
o bien Microsoft SQL Server 2005 Express Edition con SSMSE ?

me recomiendas otro motor y otro cliente ?

puedo comprobar la consulta q nos ocupa ?

salu2.
En ese post hay 4 preguntas de las cuales entiendo solo a medias una. Deberías de tomarte más de 10 segundos y ocupar unos minutos en redactar el post de forma clara y con la información necesaria para que la gente pueda ayudarte. De esta forma no tendriamos un post de 19 mensajes y ninguna conclusión.

La última pregunta, sin embargo, es bastante intuitiva, pero no tiene sentido, la respuesta sería un SI o un NO, algo que pudieras evitarte si vos mismo lo comprobás.
  #20 (permalink)  
Antiguo 30/01/2007, 13:37
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

buenas tardes:

quizas leyendo desde el principio?
al fin y al cabo no hay mucho.

inicialmente, plantee la cuestion de consultar el nombre de las columnas de una tabla, el tema ha quedado resuelto, pero la consulta solo devuelve el nombre de la primera columna de la tabla.

entonces, es cuando se planteo la necesidad de disponer un "query analyzer", y en eso estamos, que la base de datos es sql server 5.0, y necesito saber el cliente sql para poder hacerlo.

¿ es posible utilizar SSMSE como cliente de sql server 5.0 ?, creo q no,

entonces, ¿ me pueden indicar que cliente sql tendría que instalar para poder monitorizar la consulta y ver que "demonios" pasa ?

gracias.
salu2.
  #21 (permalink)  
Antiguo 30/01/2007, 13:51
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

SQL 5.0? yo soy de SQL 7.0 para acá, es más ni siquiera conozco la interfaz del 5.0, quizás ese sea el problema, que el information_schema funcione diferente? La verdad es poco lo que puedo abundar en el tema, necesitas ver la manera de observar gráficamente que es lo que está pasando con esa consulta.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #22 (permalink)  
Antiguo 05/02/2007, 11:23
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

buenas tardes:

he instalado en local SSMSE y he ejecutado la consulta directamente sobre la DB, y la consulta es OK, me devuelve todos los nombres de los campos de la tabla consultada.

he estado cambiando cursores y bloqueos al abrir el recordset y nada.
solo obtengo un registro: el nombre del primer campo de la tabla.

me podeis sugerir algo ?

P.D. Hacia tiempo que no me ponía manos a la obra. Todavía estoy algo oxidado. Gracias por ser pacientes y cooperar con los usuarios de esta comunidad.

gracias. salu2.
  #23 (permalink)  
Antiguo 05/02/2007, 11:34
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

Bueno, otra opción es que algo suceda con el recordcount...estás programando con JS verdad? a lo mejor la sintaxis no me sale muy bien, pero trata con el método getRows

Código:
rs.Open(sqlnca,CONN);
if ( !rs.EOF )
  ds = rs.GetRows();
else
  ds = null;
rs.Close();
Set rs = Nothing;

if ( ds != null )
{
  for ( i == 0; i < uBound(ds, 2); i++  )
    Response.Write(ds(0,i) + "<br />");
}
__________________
"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; 05/02/2007 a las 11:46 Razón: Tengo que mejorar mis habilidades con JS je jeje
  #24 (permalink)  
Antiguo 05/02/2007, 11:53
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: nombre de los campos en la tabla

Cita:
Iniciado por evoarte Ver Mensaje
quizas leyendo desde el principio?
al fin y al cabo no hay mucho.
Pues si, leí los casi 20 mensajes (que si, si es mucho) desde el principio y la neta no entendí el problema

Cita:
inicialmente, plantee la cuestion de consultar el nombre de las columnas de una tabla, el tema ha quedado resuelto, pero la consulta solo devuelve el nombre de la primera columna de la tabla.
ok, stop ahi, no se por que U_G no te ha dado otra alternativa al INFORMATION_SCHEMA, quizá sigo sin entender este post, por más que lo leo no te entiendo ni a ti ni al buen U_G; pero otra forma de obtener el nombre de cada campo de un RecordSet es este:

For i=0 to rs.Fields.Count-1
Response.Write rs(i).Name
Next
  #25 (permalink)  
Antiguo 05/02/2007, 11:57
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

Cita:
Iniciado por Myakire Ver Mensaje
Pues si, leí los casi 20 mensajes (que si, si es mucho) desde el principio y la neta no entendí el problema



ok, stop ahi, no se por que U_G no te ha dado otra alternativa al INFORMATION_SCHEMA
Cita:
Iniciado por u_goldman Ver Mensaje
Es posible, busca en las propiedades del recordset, me parece que es fields.name o algo asi, si encuentro un link te lo paso.

Si estas trabajando en SQL podrias hacer un query al information schema, y creo que en las FAQs hay una funcion que te da la estructura de tu base de datos.

Saludos

Las alternativas se dieron desde mi primera intervención

Saludos my friend
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #26 (permalink)  
Antiguo 05/02/2007, 14:04
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: nombre de los campos en la tabla

Razón de más para que no sepa por que el post sigue con 26 mensajes y sin concluir

o sea salud2
  #27 (permalink)  
Antiguo 05/02/2007, 14:08
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

por que quiero obtenerlo de la DB directamente, y todavia no lo he conseguido.

gracias.
  #28 (permalink)  
Antiguo 05/02/2007, 16:52
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Re: nombre de los campos en la tabla

gracias cooperante

finalmente, he conseguido traer de la base de datos el nombre de las columnas mediante getRows().

como muy bien me ha indicado u_goldman

buenas noches.
  #29 (permalink)  
Antiguo 05/02/2007, 17:04
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: nombre de los campos en la tabla

Te respondo por acá:

No es que sea necesario hacerlo mediante getRows, el caso es que por alguna razón que cuando tengas tiempo deberías investigar, tu rs no te estaba regresando correctamente el valor de recordcount, por eso si querías iterarlo, no iteraba las veces que debería, en cambio con getrows, obtienes un arreglo a partir de ese rs y solo basta obtener el índice mayor de este arreglo y entonces iterarlo.

Bien que ya está funcionando....

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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.