FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
campo filter firebird
Buenas, ya he cambiado todas mis base de datos a firebird en la aplicacion que estaba realizando, y funciona!!!. De momento sigo usando del tipo:
table1.fielbyname('codigo').asinteger, todavia nose como se podria hacer en sql. La pregunta viene con los campos filter, porque pongo por ejemplo: table1.filter:='Tipo = '+'1 Cama KSize'; table1.filtered:=true; pero me arroja un error, para campos que no llevan espacios funciona pero para estos no funciona da error. Esto es asi? o que estoy haciendo mal. gracias |
#2
|
||||
|
||||
Bueno, a pesar de que no nos dices cual es dicho error, yo creería que es porque faltan las comillas... osea debería ser asi:
Por otro lado, dependiendo de lo que necesites, muchas veces deberias plantearte usar los filtros desde la consulta y no desde la propiedad Filter de los TQUery (Eso si, repito, dependiendo de lo que necesites). Espero te sirva.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#3
|
|||
|
|||
Hola...
Para acceder a Firebird te recomiendo que uses componentes como los IBExpress (IBX) o algunos otros como MDO... Esto por que usar componentes TTable para acceder a los datos de Firebird es muy costoso en cuanto al tráfico en la red... Para tu problema con los filtros, trata así:
Pero lo optimo sería algo así (usando un componente TIBQuery de los IBX:
Saludos... |
#5
|
||||
|
||||
Gracias por las respuestas, me que da mucho por aprender de estas cosas.
si en vez de poner '"1 Cama KSize, pongo una variable no funciona Esto asi no funciona. gracias de nuevo |
#6
|
||||
|
||||
anubis,
Acostumbrate a usar QyotedSTr() y te olvidas del parto de controlar las comillas.
Y como consejo, en lo posible evitate empler filter. Es un proceso que en ocasiones suele ser lento. Se gana más perfomance empleando su variante: una consulta SQL. Y en este tema de las consultas SQL, lo mejor es emplear parámetros, tal como lo demuestra gendelphi. Saludos, |
#7
|
||||
|
||||
Cita:
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#8
|
|||
|
|||
Hola...
Si estás en ambiente Cliente/Servidor y tienes tablas grandes y desde tu aplicación Delphi usas componentes TTable (o TIBTable), cada que abras un componente de estos, este se traerá todo el contenido de la tabla hasta la PC cliente, lo que conlleva a saturar la red y lentitud en la aplicación. Es por esta razón que trabajar con filtros es algo lento. Ahora, usando IBX, es preferible hacer el filtro directamente desde la cláusula where ya que con esto solo se traen los datos necesarios. Saludos... |
#9
|
||||
|
||||
bueno creo que están mezclando el caso de el Filter en un componente TTable y un componente IBTable, lo que yo tengo entendido es que el componente TTable trae toda la información e internamente este le hace los procesos de filtrado y demás, mientras que los componentes estilo IBX o MDO ponen en un IBTable después de un "select * from table" la clausula "where Filtro = ValorFiltro".... para probar esto los invito a hacer la siguiente pruba:
en Paradox creen una Tabla con 10 mil registros con dos campos uno llamado Id (entero auto incrementado de 1 a 10000) y otro nombre (texto de tamaño 150 y por defecto 'Usuario ' + id)... accedan a dicha tabla con un TTable con filtro (id < 200) y sin filtro, luego accedan con un componente TQuery (select * Tabla) con filtro (where id < 200) y sin filtro... veran que la velocidad siempre es similar tanto en el TQuery como en el TTable (con filtros o sin ellos) Luego realizar el mismo proceso pero con un bd en FIrebird y componentes IBX o MDO, verá que la velocidad de un IBQuery con where id < 200 ó de una TTable con filtro id < 200 son similares y mucho mas rápidas que sin dichos filtros
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" Última edición por RONPABLO fecha: 12-02-2008 a las 18:09:50. |
#10
|
||||
|
||||
Resp
osea que te traes la data desde le servidor y luyego la filtar en el cliente.
Yo creo que deberias traerte la data ya filtrada. Bueno eso pienso yo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
campo money en Firebird | ebeltete | Firebird e Interbase | 23 | 02-05-2008 19:11:11 |
Campo Filter de ADOTable | Sr.Scorpion | Conexión con bases de datos | 17 | 20-03-2007 18:49:53 |
problema con un campo en firebird | julyus | Conexión con bases de datos | 2 | 05-01-2007 22:15:13 |
Problemas firebird y campo float con ibexpert | IPQ | Firebird e Interbase | 1 | 23-08-2006 16:33:16 |
Grabar Imagen en campo BLOB Firebird | pcicom | Conexión con bases de datos | 0 | 06-04-2005 01:34:06 |
|