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? |
La verdad no te entiendo cuando mencionas la clave de una tabla, no sera más bien la clave de la base de datos?
|
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 |
Necesitas recuperar los nombres de los campos de una tabla, o recuperar los datos de un campo de una tabla?
|
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. :D |
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. |
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:
Para conocer todos los campos de todas las tablas:
Para obtener sólo los campos de una tabla:
Si además quieres saber el tipo de cada campo, debes usar la tabla systypes:
.. 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. |
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?:confused: |
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,...
|
Muchas gracias por la ayuda, con esto ya tengo todo.
Muy agradecido. |
La franja horaria es GMT +2. Ahora son las 04:14:02. |
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