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-11-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
select a execute block

Buenos dias amigos del foro

Utilizo Firebird 2.0
Tengo una inmenza duda

Tengo una limitante para compilar procedimientos almacenados en mi base de datos.

He estado estudiando sobre execute block, el cual puedo utilizar sin problemas para realizar consultas y actualizaciones como si fuera un procedimiento, sin la necesidad de compilarlo

Es posible realizar un select a esta sentencia execute block?

Gracias de antemano por el tiempo que dedican a leer esta consulta
Responder Con Cita
  #2  
Antiguo 10-11-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Que casualidad...

Hace poco me hice la misma pregunta y logre obtener algo, haciendo exactamente lo mismo que se hace con procedimieto almacenado para obtener valores... con un TIBDataSet, coloque mi bloque de ejecución dentro de la propiedad Select SQL y luego lo ejecuté, como dentro de este tipo de codigo normalmente uno utiliza los dos puntos antes del nombre de un parametro ya sea de salida, de entrada o una variable, entonces me mostró un error... para ser mas exactos el siguiente:

Cita:
---------------------------
Project1
---------------------------
Dynamic SQL Error

SQL error code = -104

Token unknown - line 9, column 10

?.
---------------------------
Aceptar
---------------------------
Claro, por culpa de esos : obtenia un error muy simple, pero bastante normal, ya que dicho TDataSet "creia" que yo lo que queria era pasar parametros al TDataset y no utilizar los parametros propios del "bloque de ejecución", pero la solución fue muy sencilla, bastó con poner la propiedad ParamCheck del TIBDataSet en False y listo... obtuve en mi DBGrid los resultados deseados .

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/
Responder Con Cita
  #3  
Antiguo 10-11-2008
Avatar de boreg
boreg boreg is offline
Miembro
 
Registrado: oct 2007
Ubicación: México, México
Posts: 76
Poder: 17
boreg Va por buen camino
Creo que te refieres a hacer una consulta como si fuera un procedimiento almacenado:
Código SQL [-]
SELECT *
FROM EXECUTE BLOCK .....
WHERE ...
si es así, lamento decirte que POR EL MOMENTO no es posible como dicen aqui, donde tambien dicen que quizás hasta la version 3.1 o despues se pueda implementar,
Cita:
Re: [Firebird-devel] select from (execute block)
From: Alex Peshkov <peshkoff@ya...> - 2007-09-24 11:36
On Monday 24 September 2007 15:30, Fabiano Bonin wrote:
> Is it possible to implement this?
>
> select
> a.*
> from
> ( execute block
> returns (
> col1 integer )
> as
> begin
> ...
> suspend;
> end ) a
>
> Can i fill a ticket?

Yes, but not too soon.
Not earlier than 3.1.
checa la pagina por que creo que viene una solucion alterna, pero comentat que es para la version 2.1, no estoy muy seguro no tengo esa version para hacer la prueba.

Espero que esta info te haya sido de ayuda.
Responder Con Cita
  #4  
Antiguo 10-11-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Ahhh, si, seguramente entendí mal el post.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 10-11-2008
Avatar de boreg
boreg boreg is offline
Miembro
 
Registrado: oct 2007
Ubicación: México, México
Posts: 76
Poder: 17
boreg Va por buen camino
Cita:
Empezado por jhonny Ver Mensaje
Ahhh, si, seguramente entendí mal el post.
Puede ser, pero mejor que el amigo hecospina nos aclare.

Saludos
Responder Con Cita
  #6  
Antiguo 10-11-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Boreg, efectivamente lo que preguntaba era eso, si se podia hacer y tu aclaracion es de gran ayuda
De todos modos la informacion que me da Jhony me es de mucha utilidad pues deseo consumir esta informacion desde FastReport, no he tenido tiempo de hacer las pruebas para ver si me funciona
Las hare y les cuento
Gracias
Responder Con Cita
  #7  
Antiguo 10-11-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Hice las pruebas con fast report y no funciono, me sale error que corresponde a ":" que dijo Jhony, a pesar de colocar la propiedad

IBXQUERY1.PARAMS.PARAMCHECK=FALSE

Pensaba que me iba a funcionar
Muchas gracias
Responder Con Cita
  #8  
Antiguo 10-11-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, estoy seguro que a mi me ha funcionado... pero con un TIBDataSet, no lo probé con un TIBQuery.

Código Delphi [-]
IBDataset1.PARAMCHECK=FALSE;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
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
Reemplazar un block de notas arespremium OOP 3 13-08-2007 19:13:43
Usar Block de notas como Base de Datos edelphi Conexión con bases de datos 2 31-01-2007 04:21:16
Comportamiento raro con block de notas Albano La Taberna 16 08-12-2006 18:24:06
Paradox Y Block Size nax Tablas planas 0 03-07-2005 06:35:10
internal gds software consistency check (invalid block type encountered (147)) StartKill Firebird e Interbase 12 26-07-2004 23:18:23


La franja horaria es GMT +2. Ahora son las 00:50:30.


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