buenas noches.
es posible consultar el nombre de los campos de una tabla ?
salu2.
| |||
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í. |
| ||||
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 |
| |||
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. |
| ||||
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 |
| |||
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); %> |
| ||||
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 |
| ||||
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 |
| ||||
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 |
| ||||
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 |
| |||
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. |
| ||||
Re: nombre de los campos en la tabla Cita: 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. |
| |||
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. |
| ||||
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 |
| |||
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. |
| ||||
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 |
| ||||
Re: nombre de los campos en la tabla Pues si, leí los casi 20 mensajes (que si, si es mucho) desde el principio y la neta no entendí el problema Cita: 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: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. For i=0 to rs.Fields.Count-1 Response.Write rs(i).Name Next |
| ||||
Re: nombre de los campos en la tabla Cita: Cita:
Iniciado por u_goldman ![]() 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 |
| |||
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. |
| ||||
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 |