Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Pase de Parámetros a TADOQuery (https://www.clubdelphi.com/foros/showthread.php?t=76515)

Roll462011 06-11-2011 15:53:20

Pase de Parámetros a TADOQuery
 
¿Es posible hacer algo así con los parámetros?:

Código Delphi [-]
With ADOQuery2.SQL do
  begin
    Clear;
    Add('INSERT INTO CtasRecive ');
    Add('   (Contador1, CTA, SubCta, Analisis,    SubAnalisis, Epigrafe, Partida, Id_Cuenta, Desc_Cuenta, CTA_Trasp, SubCta_Trasp, Analisis_Trasp,');
    Add('    SubAnalisis_Trasp, Epigrafe_Trasp, Id_Cuenta_Trasp, CTA_Distr, SubCta_Distr, Analisis_Distr, Id_Cuenta_Distr)');
    Add('SELECT :Contador, :Cuenta, :Moneda, Id_Ccosto, :Element, :EsProd, Id_Producto, (:Cuenta + :Moneda + Id_Ccosto + :Element + :EsProd + Id_Producto), Desc_Producto, :731, :Moneda, :CCosto, :Element, :EsProd,');
    Add('    (:731 + :Moneda + :CCosto + :Element + :EsProd), :731, :Moneda, :CCosto, (:731 + :Moneda + :CCosto)');
    Add('FROM OrdenProducOpen');
    Add('WHERE (ImporteTotalMB > 0) AND (Id_Ccosto = ' + Copy(DBEdit3.Text, 1, 4) + ')')
  end;
  ADOQuery2.Parameters.ParamByName('Contador').Value := ComboBox1.Text;
  ADOQuery2.Parameters.ParamByName('731').Value := DBEdit1.Text;
  ADOQuery2.Parameters.ParamByName('CCosto').Value := DBEdit4.Text;
  ADOQuery2.Parameters.ParamByName('Moneda').Value := '1';
  ADOQuery2.Open;

Bueno en el Servidor SQL me funcionó, solo que para Delphi sustituí los valores por parámetros algunos directos (es decir puesto en el campo Value del Parámetro) y otros dinámicos (los leo de otros componentes... No me funcionó en la aplicación enviando una exception...

No sé mucho de esto pero me estoy sospechando que los parámetros son sola en la sección WHERE de la consulta SQL algo así:

WHERE Contado1 = :Contador

Si pudieran aclararme, las literaturas consultadas al respecto son muy ambiguas y solo tratan el caso como lo sospecho

Un saludo

Roll

Casimiro Notevi 06-11-2011 15:56:40

Recuerda poner el código entre las etiquetas correspondientes, ejemplo:




.


La franja horaria es GMT +2. Ahora son las 18:31:48.

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