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 25-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Sql access a Firebird 2

Hola a todos
Feliz Navidad.
Estoy todavía en esto del cambio de base de datos y me encontré con otro problema, os cuento:
Tengo esta sentencia que funciona en access:
Código SQL [-]
Select Last(BancoNac.IdTramsac) AS IdTramsac

Ahora me he encontrado que firebird no la reconoce, no tiene esta funcion last.
Que puedo hacer, como se hace algo similar?
Saludos
Responder Con Cita
  #2  
Antiguo 25-12-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Ho-ho-ho-hola a todos!

Así es Carlos, Last no es instrucción del SQL estándar (Microsoft mal acostumbra a los desarrolladores, y sobre todo en Access). Si lo que deseas obtener es el mayor valor encontrado en el campo IdTramsac, puedes recurrir a la tradicional función Max.

Pero si lo que buscas es el valor que tiene la última fila en el campo IdTramsac, lo primero a considerar es ¿cuál es la última fila?. Esta pregunta retórica lleva a considerar que en las bases de datos cliente-servidor no existen primeras o últimas filas absolutas, todo depende del orden (Order By) que establezcas en la consulta.

Si éste fuera el caso, la sentencia SQL podría ser como la siguiente:
Código SQL [-]
Select First 1 BancoNac.IdTramsac AS IdTramsac From BancoNac
Order By ElCampoPorElQueDeseoOrdenar Desc
o simplemente:
Código SQL [-]
Select First 1 IdTramsac From BancoNac
Order By ElCampoPorElQueDeseoOrdenar Desc

Si así fuera y la tabla en cuestión podrá tener miles de registros, convendrá además crearle un índice descendente sobre el campo por el que se ordena la consulta, para que la localización del registro sea mucho más rápida.

Hasta ahora me he percatado de que estás trabajando con Firebird 2, ¿por qué no la 1.5, que está un poco más consolidada?

¡Feliz Navidad!

Al González.
Responder Con Cita
  #3  
Antiguo 25-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Muchas gracias Al.
Siempre con el dato exacto, eres espectacular.
Gracias.
Saludos
Responder Con Cita
  #4  
Antiguo 26-12-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
Hasta ahora me he percatado de que estás trabajando con Firebird 2, ¿por qué no la 1.5, que está un poco más consolidada?
Hola Al.

Realmente no estoy seguro de lo que querés decir con esto... pero yo estoy haciendo desarrollo desde hace algunos meses con la 2... ya pensando en la 2.1 y migrando a mis clientes activos a 2.0.x. La verdad no me arrepiento. Esta versión tiene mejoras y, en mi experiencia, es tan estable como las anteriores.

¿que razón darías para seguir usando la 1.5?

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 26-12-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Arrow

¡Hola!

Cita:
Empezado por jachguate Ver Mensaje
...¿que razón darías para seguir usando la 1.5?...
Bueno Antonio, creo que la respuesta a esa pregunta dependerá de cada caso. Tratándose de Carlos, que viene saliendo de MS Access y apenas está dando sus primeros pasos en Firebird (según se desprende de algunos de sus hilos), creo que todavía le daría vigencia a este consejo:

http://www.clubdelphi.com/foros/show...070#post228070

Pero en términos generales, cuando hablo de consolidación de un producto de software para desarrollo de aplicaciones, considero en el escenario no sólo las mejoras y la estabilidad del mismo, sino además la cantidad de información que puede encontrarse en la Red, la experiencia que muchos otros desarrolladores han adquirido en su uso, la disponibilidad de valiosos recursos como componentes, manuales de soporte, blogs, respuestas en los foros, alojamiento en servidores, etc.

Cierto es que alguien tiene que "entrarle" a las nuevas versiones, y soy de los primeros que me apunto para ello, pero, como de alguna manera doy a entender en el hilo referido, hay que tener cautela y definir las herramientas a usar en función de las circunstancias de cada caso.

Tengo dos proyectos medianos a mitad de desarrollo, usando Firebird 1.5.x. Obviamente no cambiaría en este momento la base de datos. Pero si al día de hoy comenzara un proyecto nuevo pequeñito, digamos de unas 20 tablas, seguramente emplearía Firebird 2.x.

Por cierto, ¿alguien conoce cuál es actualmente la forma más práctica y económica de utilizar Firebird 2 con dbExpress? Con 1.5 es fácil, utilizando el controlador de InterBase que viene integrado en Delphi (aunque estoy conciente de que tendré que abandonar el uso de ese controlador en los desarrollos donde comience a usar Firebird 2).

Espero haya quedado más claro y que Carlos opte por la versión que más le convenza y mejor se ajuste a sus circunstancias actuales. Y si es la 2, que mejor para los que seguimos el camino de ese buen producto nacido en Borland.

Un abrazo a la medida.

Al González.
Responder Con Cita
  #6  
Antiguo 26-12-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Hola Al.

Un gusto saludarte.

Cita:
Empezado por Al González Ver Mensaje
Tratándose de Carlos, que viene saliendo de MS Access y apenas está dando sus primeros pasos en Firebird (según se desprende de algunos de sus hilos), creo que todavía le daría vigencia a este consejo:
Personalmente, creo que esa es una razón mas para que use Firebird 2.0, que no es mas difícil de aprender que el 1.5 y de hecho, podría ahorrarle algunas vueltas (tablas derivadas o como yo les digo, inline views, por ejemplo).

Cita:
Empezado por Al González Ver Mensaje
Pero en términos generales, cuando hablo de consolidación de un producto de software para desarrollo de aplicaciones, considero en el escenario no sólo las mejoras y la estabilidad del mismo, sino además la cantidad de información que puede encontrarse en la Red, la experiencia que muchos otros desarrolladores han adquirido en su uso, la disponibilidad de valiosos recursos como componentes, manuales de soporte, blogs, respuestas en los foros, alojamiento en servidores, etc.
Entiendo tu punto, sin embargo en el caso particular de estas versiones de firebird, prácticamente toda la base de conocimiento existente para la versión 1.5 es aplicable para la versión 2.0, y el equipo de desarrollo se ha cuidado muy bien de mantener compatibilidad hacia atrás, al menos hasta la mencionada versión 1.5. Por tanto, podrías tener clientes 1.5 conectados a un servidor 2.0.

Esto incluye componentes de acceso (que de hecho, en su mayoría existen y están "adaptados" para la versión 1.0). Con ellos, podrás utilizar el cliente de la versión 2 para conectarte a un servidor 2.x, sin problemas.

Cita:
Empezado por Al González Ver Mensaje
Tengo dos proyectos medianos a mitad de desarrollo, usando Firebird 1.5.x. Obviamente no cambiaría en este momento la base de datos. Pero si al día de hoy comenzara un proyecto nuevo pequeñito, digamos de unas 20 tablas, seguramente emplearía Firebird 2.x.
He cambiado mis aplicaciones a firebird 2.0 sin cambiar una línea de código. Lo he hecho principalmente, porque puedo aprovechar las nuevas características dejando lo que ya existía (de aplicaciones) tal como estaba. A medida que surgen cambios o mejoras en lo ya existente, voy aprovechando las nuevas características allí también.

Cita:
Empezado por Al González Ver Mensaje
Por cierto, ¿alguien conoce cuál es actualmente la forma más práctica y económica de utilizar Firebird 2 con dbExpress? Con 1.5 es fácil, utilizando el controlador de InterBase que viene integrado en Delphi (aunque estoy conciente de que tendré que abandonar el uso de ese controlador en los desarrollos donde comience a usar Firebird 2).
No uso dbExpres... pero yo diría que lo que he dicho antes en este post es válido también para DBExpress.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 26-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Pues mi experiencia (inexperiencia, seria mas correcto) con firebird 2 y delphi es que no he tenido ningún problema al usarlo con la paleta de componentes interbase, me gustaría saber en que se basan para decir que en dicha versión no es recomendable usar los componentes IBX (Interbase en TurboDelphi) y en que casos concretos tiene sus fallas.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 27-12-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Que tal egostar!

Cita:
Empezado por egostar Ver Mensaje
me gustaría saber en que se basan para decir que en dicha versión no es recomendable usar los componentes IBX (Interbase en TurboDelphi) y en que casos concretos tiene sus fallas.
En mi experiencia, no hay fallo alguno.

No es recomendable usar IBX (paleta Interbase) en desarrollo contra firebird, de cara al futuro, pues las IBX (al ser un producto propietario de CodeGear) se fijarán solamente en el soporte para Interbase, ignorando completamente a Firebird.

Por ahora, las bibliotecas son compatibles (trabajo de los chicos de FB), pero en el futuro podrían dejar de serlo. (y seguramente así será).

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #9  
Antiguo 27-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por jachguate Ver Mensaje
Que tal egostar!

En mi experiencia, no hay fallo alguno.

No es recomendable usar IBX (paleta Interbase) en desarrollo contra firebird, de cara al futuro, pues las IBX (al ser un producto propietario de CodeGear) se fijarán solamente en el soporte para Interbase, ignorando completamente a Firebird.

Por ahora, las bibliotecas son compatibles (trabajo de los chicos de FB), pero en el futuro podrían dejar de serlo. (y seguramente así será).

Hasta luego.

Ok, pero nada tiene que ver la versión de Firebird que uses para no utilizar IBX, entiendo bien?

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #10  
Antiguo 27-12-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
Ok, pero nada tiene que ver la versión de Firebird que uses para no utilizar IBX, entiendo bien?

Salud OS
Hasta ahora, firebird ha mantenido la compatibilidad con las bibliotecas de Interbase. Yo espero que esa compatiblidad se mantenga... pero Firebird también podría romperla, y digamos que es probable que Firebird 2.5 o Firebird 3 ya no sea accesible con las IBX.

De la misma manera, puede ser que la biblioteca IBX de Delphi 2008 ya no sea compatible ni con Firebird 1.x

Cualquier cosa podría pasar.

Por otro lado.. ahora que estoy iniciando un nuevo desarrollo... he estado viendo con que mas puedo conectarme a Firebird, pues hasta ahora sigo usando BDE en los programas viejos e IBX en los mas nuevos....

Estuve evaluando IBO, pero me parecen muy enredados...

Cómo ya tenía que iniciar el desarrollo... estoy usando IBX, con la esperanza que MDO madure y pueda migrarlo a ellos.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #11  
Antiguo 27-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por jachguate Ver Mensaje
Hasta ahora, firebird ha mantenido la compatibilidad con las bibliotecas de Interbase. Yo espero que esa compatiblidad se mantenga... pero Firebird también podría romperla, y digamos que es probable que Firebird 2.5 o Firebird 3 ya no sea accesible con las IBX.

De la misma manera, puede ser que la biblioteca IBX de Delphi 2008 ya no sea compatible ni con Firebird 1.x

Cualquier cosa podría pasar.

Por otro lado.. ahora que estoy iniciando un nuevo desarrollo... he estado viendo con que mas puedo conectarme a Firebird, pues hasta ahora sigo usando BDE en los programas viejos e IBX en los mas nuevos....

Estuve evaluando IBO, pero me parecen muy enredados...

Cómo ya tenía que iniciar el desarrollo... estoy usando IBX, con la esperanza que MDO madure y pueda migrarlo a ellos.

Hasta luego.

Si, eso lo entiendo perfectamente, sin uno no camina el otro, pero entonces, a donde volteo ya que aún estoy comenzando a migrar a Firebird. MDO donde se consigue?

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #12  
Antiguo 27-12-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
pero entonces, a donde volteo ya que aún estoy comenzando a migrar a Firebird. MDO donde se consigue?
MDO tiene sus ficheros alojados en sourceforge: http://sourceforge.net/project/showf...group_id=65944. Lo que no me gusta es que está en Release Candidate desde hace casi dos años. Eso significa que no hay un equipo activo de desarrollo... al menos no visiblemente... y con lo que viene, pues me da cheles confiarle un proyecto completo y luego quedarme tirado.

Cómo ya he mencionado antes, también está IBObjects: http://www.ibobjects.com/

Finalmente, entiendo que hay un driver (de pago, creo) para dbExpress... pero es algo que no he probado.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Modificar Sql access en Firebird Caral Firebird e Interbase 12 24-12-2007 13:46:21
firebird vs. ms access Luis F. Orjuela Firebird e Interbase 13 04-06-2007 17:25:33
Guardar Datos de una bd access a una firebird day_eli Conexión con bases de datos 1 08-02-2007 23:47:04
firebird o access??? joanajj Conexión con bases de datos 6 16-05-2006 21:41:58
firebird y ms access lunases Conexión con bases de datos 1 14-11-2005 18:14:25


La franja horaria es GMT +2. Ahora son las 07:02:33.


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