Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Bases de datos > Firebird e Interbase
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 23/10/2019
Punzo Punzo is offline
Miembro
 
Join Date: Apr 2006
Posts: 98
Poder: 21
Punzo Va por buen camino
Usar ExecuteImmediate de IBDataBase

Buen día, tengo un problema al tratar de migrar BDE a IBX, esto es con los componentes Database e IBDatabase, tengo una líneas de código en donde el Database ejecuta Alter, Create y Drop hacia procedimientos almacenados, con un simple:

Código Delphi [-]
Database.Execute ('CREATE OR ALTER PROCEDURE... end');

He tratado de hacer básicamente lo mismo con el IBDatabase con el método ExecuteImmediate, pero me marca un error, me dice que no lo reconoce, estoy usando Delphi 2007 con Firebird 2.5, muchas gracias por su ayuda.
Reply With Quote
  #2  
Old 23/10/2019
ecfisa's Avatar
ecfisa ecfisa is offline
Moderador
 
Join Date: Dec 2005
Location: Tres Arroyos, Argentina
Posts: 10,508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Podrías emplear el componente TIBScript, ejemplo de uso:
Código Delphi [-]
...
begin
  IBScript1.Database    := IBDatabase1;
  IBScript1.Transaction := IBTransaction1;
  IBScript1.Script.Add('SET TERM ^ ;');
  IBScript1.Script.Add('CREATE OR ALTER PROCEDURE FOO( AMOUNT INTEGER )');
  IBScript1.Script.Add('RETURNS( RESULT INTEGER )');
  IBScript1.Script.Add('AS');
  IBScript1.Script.Add('BEGIN');

  ... 

  IBScript1.Script.Add('  SUSPEND;')
  IBScript1.Script.Add('END^');
  IBScript1.Script.Add('SET TERM ; ^');
  IBScript1.ExecuteScript;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Reply With Quote
  #3  
Old 23/10/2019
Punzo Punzo is offline
Miembro
 
Join Date: Apr 2006
Posts: 98
Poder: 21
Punzo Va por buen camino
Quote:
Originally Posted by ecfisa View Post
Hola.

Podrías emplear el componente TIBScript, ejemplo de uso:
Código Delphi [-]
...
begin
  IBScript1.Database    := IBDatabase1;
  IBScript1.Transaction := IBTransaction1;
  IBScript1.Script.Add('SET TERM ^ ;');
  IBScript1.Script.Add('CREATE OR ALTER PROCEDURE FOO( AMOUNT INTEGER )');
  IBScript1.Script.Add('RETURNS( RESULT INTEGER )');
  IBScript1.Script.Add('AS');
  IBScript1.Script.Add('BEGIN');

  ... 

  IBScript1.Script.Add('  SUSPEND;')
  IBScript1.Script.Add('END^');
  IBScript1.Script.Add('SET TERM ; ^');
  IBScript1.ExecuteScript;
end;

Saludos
Gracias, es la alternativa, si funciona.
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
INterbase IBDATAbase canela Conexión con bases de datos 2 14/02/2015 23:15
Usar Varios IBQuery en un IBDatabase angel.sosa Conexión con bases de datos 20 17/12/2012 16:38
IBDataBase Timeout pabloc Conexión con bases de datos 0 20/06/2008 08:18
Conectar IBdatabase con firebird cesar_picazo Conexión con bases de datos 4 28/03/2007 01:03
Consultas IBDatabase - IBTransaction PALANCA Firebird e Interbase 3 29/07/2003 15:31


All times are GMT +2. The time now is 08:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi