Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Usar variables en un strored procedure (https://www.clubdelphi.com/foros/showthread.php?t=89355)

Casimiro Notevi 10-11-2015 19:09:13

Cita:

Empezado por Angel.Matilla (Mensaje 499133)
¿Cómo hago para meter en un stored procedure ese valor ProvTit que he sacado de una tabla y que no se modifica en toda la vida del programa? Esto es lo que no entiendo; meterlo "a capón"

Mediante un parámetro.
No sé cómo llamas a los procedimientos almacenados, tienes componentes específicos o puedes usar un ibquery "a pelo" con la sentencia: execute procedure ( parámetro 1, parámetro 2, etc )
Código SQL [-]
create procedure PR_HaceAlgo( iProveedor integer, ... )
...

Angel.Matilla 10-11-2015 19:25:37

Muchísimas grcias y retierar mis disculpas por ser tan pesado.

Casimiro Notevi 10-11-2015 19:30:31

Lo importante es que lo hayas entendido.
Pregunta si tienes alguna duda.

fjcg02 10-11-2015 21:17:31

Hola,
se aprende más por pesao que por listo.

Siempre que indiques lo que no entiendes, podemos intentar explicártelo. Lo más importante cuando se pide ayuda es que las respuestas que te dan las hayas leído, ese esfuerzo es el que por lo menos yo aprecio. Cuando ayudo a alguien, generalmente no le doy la solución hecha, le doy algunas indicaciones, algunas pistas, .... Si veo que pone empeño, le sigo ayudando, si no, no.

En este caso está claro que estás intentando cosas, pero claro, a veces cuesta, y en ocasiones, tampoco entendemos al 100% la duda.

Creo que Casimiro te ha puesto en la senda con su ultima intervención.

- creas un store procedure con x parametros.
- En tu aplicación metes un componente en donde lo invocas.
- Das valor a los parámetros...
- Y lo ejecutas. ( cuando se ejecuta un store procedure se utiliza generalmente Objeto.Execute, no Objeto.Open.

En la BBDD
Código SQL [-]
create actualizar ( codPrv integer)
begin
  INSERT into tabla ( codPrv);
end

En tu programa
Código Delphi [-]
Query->Close();
Query->SQL->Text = "actualizar( :CodPrv))";
Query->ParamByName("CodPrv")->AsString  = ProvTit;
Query->ExevcSQL();
Obviamente, tendrás que poner más parámetros. El código es un ejemplo, no conozco builder, y la store procedure no compilará, pero espero que te valga.

Un saludo y suerte

Angel.Matilla 11-11-2015 09:32:51

Muchísimas gracias a los dos. Entiendo muchísimas más cosas gracias a vuestras explicaciones.


La franja horaria es GMT +2. Ahora son las 11:03:56.

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