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.561
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
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 11:28:54.


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