FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Firebird: IBDataSet ó IBTable
Estoy empezado con Firebird y delphi2009
Y segui el tutorial de TeraWiki para la conexion con firebird Pero al querer configurar el IBDataSet me manda un error (Unable to determinate field names for IBDataSet1) Pero al usar IBTable si puedo abrir la tabla sin problemas. Quiero saber cual de los 2 componentes es mejor usar para un catalogo de ciudades donde voy a hacer altas edicion y bajas. Y si es el IBDataSet como resuelvo ese error
__________________
No hay misterios, sólo hay falta de información. Tampoco hay milagros, sólo hay hechos científicos ignorados Última edición por MichelH fecha: 19-02-2009 a las 20:55:33. |
#2
|
||||
|
||||
A ver, según entiendo yo, para mostrar tus datos necesitas un Dataset. Este dataset necesita un origen de datos, que puede ser un TTable o un TQuery (o incluso un TClienteDataSet).
Puedo estar equivocado, pero según yo, un TDataset por si solo no funcionaría.
__________________
|
#3
|
||||
|
||||
Pues si pero estoy siguiendo las instrucciones del tutorial y me sale ese error
http://wiki.clubdelphi.com/wiki/index.php/Tutorial_Conexi%C3%B3n_con_Firebird_desde_Turbo_Delphi_(Parte_II)
__________________
No hay misterios, sólo hay falta de información. Tampoco hay milagros, sólo hay hechos científicos ignorados |
#4
|
||||
|
||||
ya, estoy confundiendo un dataset con un datasource, mil disculpas.
__________________
|
#5
|
||||
|
||||
Si usas un IBDataSet, debes configurar sus propiedades SelectSQL, RefreshSQL, InsertSQL y UpdateSQL,
mediante el DataSet Editor (boton derecho sobre el componente) o directamente a mano le pones las sentencias SQL. Despues con la opcion Fields editor, agregas los campos de la select como persistentes. La principal y fundamental diferencia entre estos dos componentes, es que el tIBTable cuando se abre, se trae TODOS los registros de la tabla, mientras que el tIBDataSet se trae sólo los registros que cumplen la condicion de la select, con lo que da muuuucho más juego que el tIBTable. PD: Aunque lo más sencillo sea usar tIBTables, en un entorno cliente-servidor, este tipo de componentes debería estar prohibido usarlos.
__________________
Progress Openedge https://abevoelker.com/progress_open...dered_harmful/ Delphi forever... Última edición por defcon1_es fecha: 20-02-2009 a las 10:00:26. |
#6
|
||||
|
||||
El DataSet trae muchas ventajas como dice defcon1_es, por ejemplo yo siempre para crear las sentencias en el selectSQL primero pongo algo como:
Esa tabla tiene 3 campos, id, idPermiso, idPerfil, si yo veo esto en un DBGrid es algo como: Cita:
Ahora si cambio el selectSQL por:
Así tengo un resultado con menos registros, más datos para mostrar por registro y más entendible: Cita:
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#7
|
||||
|
||||
Cita:
Aunque ya no uso IBX por sentirme más completo con dbExpress, hay que reconocer esa particularidad del componente TIBTable, que a diferencia de otros XTable, usa el valor de la propiedad Filter como condición Where de una sentencia SQL Select que ejecuta para abrir el cursor (internamente hace algo como "Select * From Tabla Where Filter"). Por tanto, usar un TIBTable con las propiedades Filter y Filtered debidamente establecidas puede resultar en muchos casos tan eficiente como un TIBDataSet. Claro que con un TIBDataSet o un TIBQuery se extienden las capacidades, dando mucho más flexibilidad para armar las sentencias SQL, pero no como para "prohibir" a raja tabla (valga la expresión) el uso del TIBTable. Un abrazo filtrado. Al González. Última edición por Al González fecha: 20-02-2009 a las 19:03:31. |
#8
|
||||
|
||||
Esa propiedad Filter es muy buena y en migraciones de información de Paradox a Firebird es muy útil ya que muchos usaban las tablas (para rematar abiertas todas todo el tiempo)
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#9
|
|||
|
|||
Lo suyo es usar unicamente el TIBDataset, y rellenar solo la propiedad SelectSQL si se quiere solo una query, y las otras si se quiere poder editar los datos.
Siempre uso el dichoso select * from tabla en ambiente cliente servidor sin ningun problema, el componente tiene la propiedad BufferChunks q trae solo los 1000 primeros, y ademas el DBGrid trae solo los necesarios para mostrar en la pantalla.. |
#10
|
||||
|
||||
Gracias a todos, me quedo con TIBDataset, por lo que comentan estos tienen mucha libertad para crear consultas y edicion, sobre todo edicion directa sobre un DBGrid.
__________________
No hay misterios, sólo hay falta de información. Tampoco hay milagros, sólo hay hechos científicos ignorados |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ordenar un IbTable | sonjeux | Conexión con bases de datos | 2 | 27-05-2008 16:03:11 |
IBTable vs TTable | Puche | Firebird e Interbase | 2 | 13-07-2006 05:02:54 |
FindNearest con IbTable | thebignico | Firebird e Interbase | 1 | 09-05-2005 23:45:26 |
Filtro Ibtable | cisterpe | Conexión con bases de datos | 6 | 29-03-2004 18:19:05 |
IbTable o IbDataset | NickName | Firebird e Interbase | 4 | 13-09-2003 04:13:26 |
|