Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   update con Condicion (https://www.clubdelphi.com/foros/showthread.php?t=54870)

georgejg 02-04-2008 01:02:38

update con Condicion
 
hola nuevamente disculpen por cansar tanto pero en fin soy nuevo en delphi y tengo muchas dudas al respecto.

la inquietud es la siguiente

quisiera realizar un Update a un Campo "Total" de la tabla "Table1" dicha tabla tiene un Campo "Fecha" q es la llave primaria.
es decir q la actualizacion se le realize al registro que tenga la "fecha" seleccionada.

esta fecha la cargo al seleccionarla en un DateTimePicker q en el evento Exit me valida otras condiciones y me carga algunos parametros entre ellos me carga la fecha q es la misma q selecciono y lo mustra en un DBEdit "DBEdit9" esto ya que en la sintaxis no podia o no sabia poner el DateTimePicker.

me permite insertar nuevos registros pero al terminar es necesario que me actualize el campo "Total" de la "Tabla1".

el error que me muestra es el Siguiente:
"Operation not applicable."

El codigo que estoy usando es el Siguiente:

Código Delphi [-]
Masdata.Query6.SQL.Clear;
Masdata.Query6.Close;
Masdata.Query6.SQL.Text:=('UPDATE TABLA1 SET TOTAL=:total WHERE (FECHA ="'+DBEdit9.Text+'")');
Masdata.Query6.ParamByName('total').AsString:= trim(Edit89.Text);
Masdata.Query6.ExecSQL;


esppero en verdad q me puedan colaborar.

o recomendar un hilo....

rulo_m 02-04-2008 01:48:11

Cita:

Empezado por georgejg (Mensaje 276876)

Código Delphi [-]
Masdata.Query6.SQL.Clear;
Masdata.Query6.Close;
Masdata.Query6.SQL.Text:=('UPDATE TABLA1 SET TOTAL=:total WHERE (FECHA ="'+DBEdit9.Text+'")');
Masdata.Query6.ParamByName('total').AsString:= trim(Edit89.Text);
Masdata.Query6.ExecSQL;

pues no me creas mucho pero yo intentaria
Código Delphi [-]
Masdata.Query6.SQL.Text:='UPDATE TABLA1 SET TOTAL=:total WHERE FECHA =:fecha';
o
Código Delphi [-]
Masdata.Query6.SQL.Text:='UPDATE TABLA1 SET TOTAL=:total WHERE FECHA =' + quotedstr(DBEdit9.Text);

y para el datetimepicker como parametro es con .asdatetime o el valor de .date

a ver si te sirve de algo..

lo que yo siempre hago es meter el sql en una cadena y luego le doy SQL.text:=cadena; se ve un poquitito mas limpio

georgejg 04-04-2008 17:51:49

Perfecto..... Gracias Rulo_m la operacion funciona a la perfeccion. :D:D

En Ultimas y siguiendo los consejos de Rulo_m el Codigo quedo de la siguiente manera.

Código Delphi [-]
Masdata.Query6.Close;
Masdata.Query6.SQL.Clear;
Masdata.Query6.SQL.Text:='UPDATE Tabla1 SET TOTAL='+EditTotal.Text+' WHERE FECHA='+ quotedstr(DBEdit9.Text);  
Masdata.Query6.ExecSQL;

Hasta la proxima
Saludos...


La franja horaria es GMT +2. Ahora son las 05:59:54.

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