Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Enviar parametro dataset en TSQLStoredProc (https://www.clubdelphi.com/foros/showthread.php?t=88211)

JM1985 29-04-2015 22:27:00

Enviar parametro dataset en TSQLStoredProc
 
Buen día alguien tiene experiencia enviando un parámetro tipo dataset en un TSQLStoredProc ??

Mi procedimiento almacenado en sql server está esperando un parámetro tipo tabla para que haga ciertas actualizaciones a varios registros no quiero mandar un registro por registro si no todo el TClientDataSet.


Saludos.

ecfisa 30-04-2015 18:33:36

Hola JM1985.

No sé con que RDBMS estes trabajando, pero dudo mucho que puedas enviar un argumento tipo TDataSet...
Lo que se me ocurre es que envíes el nombre de la tabla al stored procedure para que en él se realicen las acciones necesarias sobre ella.

Un ejemplo para Firebird:
Código SQL [-]
SET TERM ^ ;

CREATE OR ALTER PROCEDURE SP_TABLE_COUNT ( TABLE_NAME VARCHAR(31) )
RETURNS ( RESULT INTEGER )
AS
BEGIN
 EXECUTE STATEMENT 'SELECT COUNT(*) FROM ' || TABLE_NAME INTO :RESULT;
END^

SET TERM ; ^

Llamada:
Código PHP:

void __fastcall TForm1::Button1Click(TObject *Sender) {
  
TSQLStoredProc *sp static_cast<TSQLStoredProc*>( SQLStoredProc1 );

  
sp->StoredProcName "SP_TABLE_COUNT";
  
sp->ParamByName("TABLE_NAME")->AsString "CLIENTES";
  
sp->ExecProc();
  
ShowMessagesp->ParamByName("RESULT")->AsString );


Saludos :)


La franja horaria es GMT +2. Ahora son las 04:16:55.

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