Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Actualizar registro.... (https://www.clubdelphi.com/foros/showthread.php?t=60481)

BlueSteel 03-10-2008 15:53:01

Actualizar registro....
 
Hola...

quiero lanzar una sentencia de actualización de registro, actualmente la estoy realizando así...

Código Delphi [-]
     Datos.AQ_Captura.First;
     For i:=0 to Datos.AQ_Captura.RecordCount-1 Do
     Begin
          Datos.AQ_Edit.Close;
          Datos.AQ_Edit.SQL.Clear;
          Datos.AQ_Edit.SQL.Add('Update Analisis Set Ana_Descontado=:v01, Ana_Nodescontado=:v02');
          Datos.AQ_Edit.SQL.Add('Where Act_Ficha_N=:v03 And Ana_Proceso=:v04 And Ana_Mes=:v05 And Ana_Ano=:v06');
          Datos.AQ_Edit.Parameters[0].Value := Datos.AQ_Captura['Cap_Monto'];
          Datos.AQ_Edit.Parameters[1].Value := 0; 
// Aquí se supone que va el Valor de Ana_Envio - Ana_Descontado,,, pero no se como ingresarlo en esta misma consulta...
          Datos.AQ_Edit.Parameters[2].Value := Datos.AQ_Captura['Act_Ficha_N'];
          If vPro.ItemIndex = 0 Then
             Datos.AQ_Edit.Parameters[3].Value := 'L'
          Else
             Datos.AQ_Edit.Parameters[3].Value := 'G';
          Datos.AQ_Edit.Parameters[4].Value := vMes.Text;
          Datos.AQ_Edit.Parameters[5].Value := vAno.Text;
          Datos.AQ_Edit.ExecSQL;
          Datos.AQ_Captura.Next;
     End;

Esta consulta trabaja con 2 tablas. Una Analisis y la otra Captura. En analisis esta el resumen de monto que se envio a descontar, y en Captura esta el monto que se desconto. Como no me informaron lo que no se descontó, tengo que realizar un calculo para ello... por lo cual el campo Ana_Nodescontado es la diferencia de los campos Ana_Envio menos Ana_Descontado.

debido a esto tengo que lanzar una segunda consulta con el sgte código

Código Delphi [-]
         Datos.AQ_Edit.Close;
          Datos.AQ_Edit.SQL.Clear;
          Datos.AQ_Edit.SQL.Add('Update Analisis Set Ana_Nodescontado = Ana_Envio-Ana_Descontado');
          Datos.AQ_Edit.ExecSQL;
          Datos.AQ_Analisis.Next;

bueno... eso es por el momento...

Salu2:p:D

maeyanes 03-10-2008 15:59:59

Hola...

Y tienes alguna duda en mente o solo nos estás demostrando como haces las cosas? :p

Edit: Ah!! Ya vi... la duda está "escondida" como comentario xDDDD

¿De dónde sale el valor Ana_Envio?

Por que lo más fácil sería algo como:

Código Delphi [-]
Datos.AQ_Edit.Parameters[1].Value := (Ana_Envio) - Datos.AQ_Captura['Cap_Monto'];

Saludos...

ContraVeneno 03-10-2008 17:08:11

Código Delphi [-]
Datos.AQ_Edit.SQL.Add('Update Analisis Set Ana_Descontado=:v01, Ana_Nodescontado= Ana_Envio - :v02');
:confused:


La franja horaria es GMT +2. Ahora son las 20:39:53.

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