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 17-05-2005
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Post Ejemplos IBScript

Hola amigos y amigas del foro.

Mi pregunta es muy sencilla alguien sabe donde puedo encontrar ejemplos donde muestren el manejo de IBScript, ya he realizado busquedas y he entrado a la página de la Borland pero no he localizado nada.


Me genera un error donde me dice que la propiedad Terminator no existe


Si pueden ayudame les estare muys agradecido.
Responder Con Cita
  #2  
Antiguo 19-05-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
checa esto....

La propiedad Terminator te indica el simbolo con que terminará el Script, yo lo dejo en punto y coma ( ; ) si no lo tiene al final del script te marca el error....

Saludos.

Última edición por AGAG4 fecha: 19-05-2005 a las 01:52:11. Razón: Corrección
Responder Con Cita
  #3  
Antiguo 19-05-2005
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Entendido pero como logro generar un procedimiento almacenado el cual debe devolver algún valor? por ejemplo

Código:
..........
with IBScript1 do
begin
    Script.Clear;
    Script.Add('SET TERM ^;');
    Script.Add('CREATE PROCEDURE PROCEDIMIENTO_PRUEBA');
    Script.Add('AS DECLARE VARIABLE CODANE VARCHAR(16);');
    Script.Add('DECLARE VARIABLE NOMBRE VARCHAR(100);');
    Script.Add('AS BEGIN');
    Script.Add('SELECT CODIGO_DANE, ESTAB_NOMBRE');
    Script.Add('FROM ESTABLECIMIENTOS');
    Script.Add('INNER JOIN NUCLEOS ON (ESTAB_NUC_NUMERO=NUC_NUMERO)');
    Script.Add('INNER JOIN SECRETARIAS ON (NUC_SEC_CODIGO=SEC_CODIGO)');
    Script.Add('INNER JOIN MUNICIPIOS ON (SEC_MUN_CODIGO=MUN_CODIGO)');
    Script.Add('WHERE (MUN_CODIGO = ''70001'')');
    Script.Add('FOR SELECT ESTAB_CODIGO_DANE, ESTAB_NOMBRE');
    Script.Add('FROM ESTABLECIMIENTOS');
    Script.Add('INNER JOIN NUCLEOS ON (ESTAB_NUC_NUMERO=NUC_NUMERO)');
    Script.Add('INNER JOIN SECRETARIAS ON (NUC_SEC_CODIGO=SEC_CODIGO)');
    Script.Add('INNER JOIN MUNICIPIOS ON (SEC_MUN_CODIGO=MUN_CODIGO)');
    Script.Add('WHERE (MUN_CODIGO = ''70001'')');
    Script.Add('INTO :CODANE, :NOMBRE DO');
    Script.Add('BEGIN');
    Script.Add('UPDATE TEMP_EVAL_INT_GRAF_ADMIN');
    Script.Add('SET ESTAB_NOMBRE = :NOMBRE');
    Script.Add('WHERE CODIGO_DANE =:CODANE;'); 
    Script.Add('SUSPEND;');
    Script.Add('END^');
    Script.Add('SET TERM ;^');
end;
IBScript1.ExecuteScript;
..........
Responder Con Cita
  #4  
Antiguo 19-05-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
ok

Quieres CREAR ó LLAMAR un Proc. Almacenado ????
Por lo que veo quieres crearlo, pero tengo entendido que no es de esa forma para hacerlo para crear un store procedure yo lo hago por medio del IBExpert puedes bajartelo en www.ibexpert.com y si quieres llamarlo en la paleta de Interbase de delphi viene un componente ibStoredProc aqui puedes mandar a llamarlo.

Saludos....

Última edición por AGAG4 fecha: 19-05-2005 a las 16:50:56. Razón: Corrección
Responder Con Cita
  #5  
Antiguo 19-05-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

Aqui tienes un ejemplo

http://www.clubdelphi.com/foros/showthread.php?t=21477

Y para llamarlo simplemente has un select como si lo hiciera sobre uan tabla y si recibe prametro pasales en la llamada
ejlp
Código SQL [-]
  Select c1, c2 From Sp1(1, 2);
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #6  
Antiguo 19-05-2005
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Si te entiendo, crearlo en la misma base de datos ya sea con el IBConsole, EMS, IBExpert, con cualquier programa que te permita crearlo, pero el problema es crearlo en tiempo de ejecución he alli el dilema

Gracias-
Responder Con Cita
  #7  
Antiguo 19-05-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

Mira es este es mi msn yahoo
estoy en linea

Rastafareysoft@yahoo.es

Te espero dale rapidito que tengo trabajo
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #8  
Antiguo 19-05-2005
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Lo soluciones agregandole :

Params.Clear;
ParamCheck := false;
ExecSQL;

a un IBQuery.

Código:
 with IBQuery1 do
 begin
    sql.Clear;
    sql.Add('CREATE PROCEDURE PROCEDIMIENTO_PRUEBA');
    sql.Add('AS DECLARE VARIABLE CODANE VARCHAR(16);');
    sql.Add('DECLARE VARIABLE NOMBRE VARCHAR(100);');
    sql.Add('AS BEGIN');
    sql.Add('SELECT CODIGO_DANE, ESTAB_NOMBRE');
    sql.Add('FROM ESTABLECIMIENTOS');
    sql.Add('INNER JOIN NUCLEOS ON (ESTAB_NUC_NUMERO=NUC_NUMERO)');
    sql.Add('INNER JOIN SECRETARIAS ON (NUC_SEC_CODIGO=SEC_CODIGO)');
    Script.Add('INNER JOIN MUNICIPIOS ON (SEC_MUN_CODIGO=MUN_CODIGO)');
    sql.Add('WHERE (MUN_CODIGO = ''70001'')');
    sql.Add('FOR SELECT ESTAB_CODIGO_DANE, ESTAB_NOMBRE');
    sql.Add('FROM ESTABLECIMIENTOS');
    sql.Add('INNER JOIN NUCLEOS ON (ESTAB_NUC_NUMERO=NUC_NUMERO)');
    sql.Add('INNER JOIN SECRETARIAS ON (NUC_SEC_CODIGO=SEC_CODIGO)');
    sql.Add('INNER JOIN MUNICIPIOS ON (SEC_MUN_CODIGO=MUN_CODIGO)');
    sql.Add('WHERE (MUN_CODIGO = ''70001'')');
    sql.Add('INTO :CODANE, :NOMBRE DO');
    sql.Add('BEGIN');
    sql.Add('UPDATE TEMP_EVAL_INT_GRAF_ADMIN');
    sql.Add('SET ESTAB_NOMBRE = :NOMBRE');
    sql.Add('WHERE CODIGO_DANE =:CODANE;'); 
    sql.Add('SUSPEND;');
    sql.Add('END');
    Params.Clear;
    ParamCheck := false;
    ExecSQL;
end;
Estoy abierto a cualquier otra sugerencia.....

Última edición por subzero fecha: 19-05-2005 a las 19:03:16.
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 06:57:44.


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