![]() |
Problema con TIBDataSet
Me dirijo a ustedes ya que estoy recien iniciandome con firebird, para esto estoy usando las IBX de DELPHI.
Les explico mi problema. Creo una TIBDatabase y una TIBTransaction conectandolas sin problemas a la base de datos (Firebird 1.5). Luego creo un TIBDataset y le indico la sentencia de seleccion "SELECT campo FROM tabla" y me entrega el siguiente error: dinamic sql error SQL error code =-204 table unknown [tabla] at line 1, column n La tabla a la que se hace referencia existe y la puedo acceder desde un TIBTable pero la optimo es utilizar TIBDataset segun lo que he leido. Por favor si alguien me puede dar una ayuda. |
Saludos
Cita:
Cita:
|
vtdeleon gracias por responder y te explico.
en la base de datos tengo varias tablas creadas (aun no he hecho nada en delphi, solo he diseñado la base de datos). y cuando hago referencia con el TIBDataset sea cual sea la tabla a la que le ejecuto el SELECT me indica que esta no existe. Pero si accedo mediante una TIBTable si conecta. :confused: |
Hola,
Me llama la atención cuando dices "a la que ejecuto..." porque si hago algo tal que así: ... la última instrucción provoca un error, aunque no exactamente el que a ti te sucede. Sin embargo, si sustituyo la última instrucción por "IBDataSet1.Open;" entonces no hay problemas. Por otro lado, fíjate en qué propiedad "escribo" la sentencia SQL, esto es, en la propiedad "SelectSQL" del "TIBDataSet"... ¿Cómo lo haces tú exactamente? ¿Podrías escribir aquí el código para echarle un vistazo? ;) |
Resp
Puedes poner la sentencia sql real.
Por que tambien hay que ver que dialecto estas usando por que si tu tbla se llma Productos y el dialecto con el que la creaste es el tres no la puedes acceder asi debes usas doble comilla "Productos". Eso es un caso pero prefiero vre el sql real. Pero sui te sql es exactamente el anterior la debes acceder la tabla a menos que le ayyas puesto un caracter en mayusculas ya que si esta todo en minusculas y no posee espacios en blanco no es necesario las comillas. Pero de lo cantrario si. |
Les agradesco a todos su ayuda, el problema no lo pude descubrir pero al cambiar el administrador de firebird con el que cree la base de datos (anteriormente "EMS Interbase & Firebird 3") al "IB Expert", volvi a crear la base con este y todo solucionado. Pude conectarme sin ningun problema, no se si sera algun problema de versiones nose pero almenos ya puedo continuar com mi proyecto. :confused:
Muchas gracias. |
Checa Esto....
Cambia IBDataSet1.ExecSQL; por IBDataSet1.Open;
Saludos.... |
El problema es muy sencillo pero de esos q desesperan: sencillamente en la selectsql del IBDataset "tabla" tenia q ser "TABLA", en mayusculas. El IBExpert por defecto pone a mayusculas el nombre de todos los objetos incluyendo las tablas. Es problema de los IBX, ya q al usar los
MDO no pasa esto, te recomiendo los uses, son un clon de los IBX pero soportan el acceso tb a traves de la libreria fbclient.dll.. |
La franja horaria es GMT +2. Ahora son las 01:59:36. |
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