![]() |
Saber si ADOTable Existe
Un gran saludo al mundo delphi, no se si me podrían ayudar con una duda, lo que pasa es que deseo crear una tabla temporal con un omponente ADOTable, donde al iniciar la aplicacion se destruya la tabla existente y por medio de un boton crearla de nuevo, pero como saber si la tabla existe al iniciar la aplicacion ya que marca un error cuando no se ha creado, con el componente Table es mas facil, ya que tiene la propiedad Table.Exists, pero con ADO no se como hacerlo, tal vez ustedes tengan algunas buenas sugerencias.
Saludos y Gracias. |
No comentas la BD que usas, ya que con ADO puedes conectar a varias de ellas. De todas formas, se me ocuurren 2. Algunas Base de Datos poseen una tabla (sysObjects, por ejemplo para SQLServer) donde están todos los objetos de la BAse de Datos, basta con que consultes si hay algun elemento de tipo tabla con ese nombre. Otra más "ruda", pero más simple, es lanzar una SQL como ésta:
Y capturar el posible error (por si no existe); Si no da error es que ya existe. MEJORA: Haz un TOP 1 (si lo permite) y pregunta por un único campo en lugar de por todos (*). |
Estoy usando un base de datos en Access, me dices que capture el error, pero para ese error no se como hacerlo, cuando ejecuto la consulta en SQL, sale "class EOleException, el motor de BD no encuentra la tabla INVTABLA", Hice esto para reconocer el error, pero me marca error en el EOleException, lo tengo asi:
adoquery1.SQL.Clear; adoquery1.SQL.Add('select * from INVTABLA'); try adoquery1.ExecSQL; except On EOleException do Showmessage('No Existe la Tabla'); end; Esta es la manera de capturar el error o hay otras? |
Pues esa es una buena manera:
|
Con esos ajustes ya salio muy bien, te agradezco mucho tu tiempo.
Hasta Luego! |
Cita:
Listo, lo solucione, era una pavada, habia hecho un par de procedimientos con nombres muy similares y seleccionaba mal, jejej, a veces pasa. |
Esta es otra manera; Mira este hilo:
http://www.clubdelphi.com/foros/show...67&postcount=3 |
La franja horaria es GMT +2. Ahora son las 09:15:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi