Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-03-2004
fidias fidias is offline
Registrado
 
Registrado: sep 2003
Posts: 7
Poder: 0
fidias Va por buen camino
Unhappy Ambiguos consulta en firebird

Hola,
utilizo IBX 5.0.4 en delphi 5 (update pack 1) y con Interbase 6.0.2 y dialecto 3.
Hasta ahora no nemos tenido problemas de conexión ni de rapidez, los hemos ido solucionando con cambios de extension de la gdb, con backup/restore/gfix, y cosas asi, pero tenemos un cliente en el que el servidor de Interbase se encuentra en un Windows 2003, y la conexión cuesta bastante mas de 30 segs (conectamos con la estructura
ipservidor:ruta_gdb).
Hemos probado Firebird 1.0,1.0.2 y 1.0.3 y con todos tenemos el mismo problema:
- no reconoce f_1 como campo valido obtenido de una consulta del tipo
select count(*) from cliente
donde f_1 lo crea delphi a partir del objeto TQuery

- tambien tengo problemas en todas aquellas consultas que cruzan dos o mas tablas, y no uso alias para nombrarlas, me dice "ambiguous query" y en Interbase no me decia nada, tb pq solo usamos los alias cuando hay campos clave primaria que se llaman igual y puede dar lugar a confusión.

Tengo alguna solución que no sea reescribir todas las consultas de mi aplicación (hay muchiiiiisiiiimas)

Gracias.
Responder Con Cita
  #2  
Antiguo 10-03-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Como comentas, parece que solo tienes dos soluciones.

A) Actualizar a Interbase 7, y seguir utilizando el Interbase de Borland, que seguramente mantendrá la compatibilidad con las consultas que tienes.

B) Cambiar a Firebird, y escribir bien las consultas. En el primer caso debes cambiarlas por : select count(*) as f_1 from cliente. Y en las consultas con ambiguedades habrá que poner los Alias.

Si decides cambiar a Firebird, seria una buena idea mirar para el futuro otros componentes de acceso en lugar de los IBX. Puesto que los IBX són de Borland y no van a soportar las nuevas caracteristicas de Firebird.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 10-03-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Por cierto, en las consultas con select count(*) from cliente ¿ has creado campos persistentes ?.

Porqué si no has creado campos persistentes, entonces te funcionará mantener la consulta como está y simplemente cambiar el código del programa.

Donde tengas : qryDatos.FieldValues['f_1'], cambialo por qryDatos.Fields[0].Value

Puedes hacer un buscar y reemplazar en todo el proyecto de FieldValues['f_1'] por Fields[0].Value

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #4  
Antiguo 10-03-2004
fidias fidias is offline
Registrado
 
Registrado: sep 2003
Posts: 7
Poder: 0
fidias Va por buen camino
Muchas gracias, era lo que me temia.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:39:41.


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
Copyright 1996-2007 Club Delphi