Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Mostrando registro con ClientDataSet y un TSQLStoreProcedure (https://www.clubdelphi.com/foros/showthread.php?t=83835)

novato_erick 03-08-2013 22:25:24

Mostrando registro con ClientDataSet y un TSQLStoreProcedure
 
Hola Chicos como han estado?

Agradeciendo enormemente a ustedes por siempre colaborar en todo lo que se pueda en cuanto a la programación en Delphi pero tengo una interrogante:

Cree un procedimiento Almacenado en Firebird 2.5 en el que tengo que mostrarlo en una tabla memoria dichos registros para esto me imagino que es el ClientDataSet pero francamente no he logrado hacerlo.

Intente esto buscando en el club pero aun nada.

Código Delphi [-]
 with dmlogicaArticulos.cdsSpConsultaArtCod do
    begin
      Close;
      CommandText := 'Excecute procedure spConsultaArticuloCod (:COD_ART)';
      Params.ParamByName('COD_ART').AsString := trim(ebusquedArticulo.Text);
      Execute;
      Open;
    end;

Me manda el siguiente Error:
Cita:

---------------------------
Sisinv
---------------------------
CommandText changes are not allowed.
---------------------------
Aceptar
---------------------------
Necesito que alguien me oriente porfa


Saludos

Caminante 03-08-2013 23:12:24

Para recuperar registros desde un procedimiento almacenado envío la consulta como si fuese una tabla

Código SQL [-]
select * from spConsultaArticuloCod (:COD_ART);

aunque yo nunca lo he hecho desde comandtext pero supongo q la cosa va por ahi.

Espero haberte ayudado

Saludos

novato_erick 03-08-2013 23:33:55

Hola Caminante:

Tampoco yo de todas manera no tiene sentido para mi realizar una consulta como si fuera una tabla desde un procedimiento es extraño ya que para eso se realiza a nivel de servidor..

Cita:

Caminante Dice:
Cita:

aunque yo nunca lo he hecho desde comandtext pero supongo q la cosa va por ahi.

el comandtext es un ejemplo que encontré en este mismo club pero no tengo idea...

aun no he encontrado un ejemplo Claro...

Saludos y lo intentaré daré respuesta en caso de encontrar solución..

Saludos y gracias...

Casimiro Noteví 03-08-2013 23:51:35

Cita:

Empezado por Caminante (Mensaje 464926)
Para recuperar registros desde un procedimiento almacenado envío la consulta como si fuese una tablaCódigo SQL [-]select * from spConsultaArticuloCod (:COD_ART);

aunque yo nunca lo he hecho desde comandtext pero supongo q la cosa va por ahi.
Espero haberte ayudado
Saludos

Yo siempre lo hago así, con un query "normal".

novato_erick 04-08-2013 00:10:58

Hola casimiro

Cita:

Yo siempre lo hago así, con un query "normal".
Cuando te Refieres a un Query "Normal" es esto:

Cita:

]select * from spConsultaArticuloCod (:COD_ART);
o Te refieres? a un componente a parte?


pero es en el comandText verdad?

Saludos

novato_erick

novato_erick 04-08-2013 00:49:31

Ok Chicos tengo esto:

Código Delphi [-]
procedure TfrmModificarArticulo.btnBuscarProcedimientoClick(Sender: TObject);
begin
if (length(trim(ebusquedArticulo.Text)) > 0) then
with dmLogicaArticulos.cdsProcedimientoConsultaArtDescrip do
begin
   CommandText := 'select * from dmStoreProcedure.spConsultaArticuloDescrip (:DESCRIPCIONAR)';
   Params.ParamByName('DESCRIPCIONAR').AsString :=  trim(ebusquedArticulo.Text);
   Execute;
end;
// aqui que es lo que hago?
//Creo un mi ClientDataSet llamado cdsProcedimientoConsultaArtDescrip.(TFieldDefs) (los campo que retorna el SP?)
//ooooooo????????

Saludos

novato_erick

Casimiro Noteví 04-08-2013 10:15:28

Sí, me refiero a un query normal, un ibquery

novato_erick 04-08-2013 17:43:35

Si es como lo he estado manejando todo el tiempo pero mi sistema ah estado creciendo en registro no mucho en realidad 849,514 y pense dejarle la mayoria de las consulta al motor de base utilizando dicho componente de TSQLStoreProcedure...

Saludos

Casimiro Noteví 04-08-2013 18:08:46

Pero si devuelves datos en un select, entonces es lo mismo, no hay diferencia.

novato_erick 04-08-2013 18:18:47

ok comprendo muy bien....

Gracias Casimiro....


La franja horaria es GMT +2. Ahora son las 18:38:10.

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