Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2005
davezf davezf is offline
Miembro
 
Registrado: dic 2004
Posts: 59
Poder: 20
davezf Va por buen camino
Conocer clave de tabla

Hola, estoy utilizando ADO para conectar a BDs Access o SQL Server.

Hay alguna forma de saber cual es la clave de una tabla?
__________________
Dave
Responder Con Cita
  #2  
Antiguo 12-09-2005
Johnny Q Johnny Q is offline
Miembro
 
Registrado: may 2005
Ubicación: Colombia
Posts: 172
Poder: 19
Johnny Q Va por buen camino
La verdad no te entiendo cuando mencionas la clave de una tabla, no sera más bien la clave de la base de datos?
Responder Con Cita
  #3  
Antiguo 12-09-2005
davezf davezf is offline
Miembro
 
Registrado: dic 2004
Posts: 59
Poder: 20
davezf Va por buen camino
no, quizas no me he explicado bien.

Lo que quiero es saber el nombre del campo de una tabla desde delphi. Se que
se puede ver la definicion de los campos pero no he visto nada acerca de el
campo forma parte o no de la clave primaria de la tabla
__________________
Dave
Responder Con Cita
  #4  
Antiguo 12-09-2005
Johnny Q Johnny Q is offline
Miembro
 
Registrado: may 2005
Ubicación: Colombia
Posts: 172
Poder: 19
Johnny Q Va por buen camino
Necesitas recuperar los nombres de los campos de una tabla, o recuperar los datos de un campo de una tabla?
Responder Con Cita
  #5  
Antiguo 12-09-2005
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
Lightbulb

hay diferentes formas segun la base de datos que ocupes, por ejemplo en MySQL puedes saber ejecutando "Describe Table <Tabla>", puedes empesar por ahí.

Saludos y suerte.
__________________
^_^

http://stna.cl
Responder Con Cita
  #6  
Antiguo 13-09-2005
davezf davezf is offline
Miembro
 
Registrado: dic 2004
Posts: 59
Poder: 20
davezf Va por buen camino
Necesito saber el nombre con la descripcion de cada uno de los campos de una tabla. Queria que fuese lo mas generico posible.

Utilizo componentes ADO para conectarme y con estos puedes obtener la definicion de los campos (nombre, tipo, etc) pero necesitaba, ademas, conocer si forma parte de la clave primaria o no.
__________________
Dave
Responder Con Cita
  #7  
Antiguo 13-09-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
La mayoria de las Bases de Datos tienen tablas de catálogos donde puedes consultar los nombres de tablas, los nombres de campos, los tipos, índices,....
En el caso de SQL server, como comentas, posee las tablas, sysColumns, sysObjects, sysIndexes,... (todas las que empiezan por sys)

Para saber los nombres de las tablas puedes ejecutar:
Código SQL [-]
   select * from sysobjects where xtype='U'

Para conocer todos los campos de todas las tablas:
Código SQL [-]
 select * from syscolumns

Para obtener sólo los campos de una tabla:
Código SQL [-]
 select * from syscolumns inner join sysobjects on sysobjects.id=syscolumns.id 
 where sysobjects.xtype='U' and sysobjects.name='Monedas'

Si además quieres saber el tipo de cada campo, debes usar la tabla systypes:
Código SQL [-]
 select systypes.Name, syscolumns.* from syscolumns 
     inner join sysobjects on sysobjects.id=syscolumns.id 
     inner join systypes on systypes.xtype=syscolumns.xtype
 where sysobjects.xtype='U' and sysobjects.name='tmoneda'

.. y así todo lo que necesites. El diccionario de datos varía de estructura segun el SGBD, pero son similares en todos, es cuestión de echare un vistazo y mirar la ayuda.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 13-09-2005
davezf davezf is offline
Miembro
 
Registrado: dic 2004
Posts: 59
Poder: 20
davezf Va por buen camino
Muchas gracias, a partir de aqui es cuestion de ver el SGBD en particulas.

Solo 1 detalle, en Access esto no se puede hacer o tambien hay una especie de catalogo o algo asi?
__________________
Dave
Responder Con Cita
  #9  
Antiguo 13-09-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si abres una BD Access, verás que en las opciones de configuración se puede activar que se visualizen Tablas ocultas y de sistema. Si activas la visualización de los objetos de sistema, te aparecerán las tablas: MsysObjects, MsysQuerys,...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #10  
Antiguo 13-09-2005
davezf davezf is offline
Miembro
 
Registrado: dic 2004
Posts: 59
Poder: 20
davezf Va por buen camino
Muchas gracias por la ayuda, con esto ya tengo todo.

Muy agradecido.
__________________
Dave
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:27:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi