Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda con data set (https://www.clubdelphi.com/foros/showthread.php?t=57337)

josi 11-06-2008 23:11:40

ayuda con data set
 
hola
espero qu me ayuden con esto tengo un form facttura con una tabla factura que es donde guardo los productos facturados, pero tengo la tabla articulos
lo quiero es actualizar de la tabla articulos el campo existencia despues que se factura un producto puse este codigo pero cuando ejecuto trato d facturar y guardo me sale un error: 'equiposquery1 data set is not in edit or insert mode'

begin

articulosquery1.edit;
articuloquery1.SQL.Text:= 'update equipos set existencia = existencia'+ FacturaQuery1cantidad.AsString;
FacturaQuery1.Post;
articulosquery1.Post;
end;



gracias.....

poliburro 12-06-2008 01:52:12

Código Delphi [-]

begin

articulosquery1.Close;
articuloquery1.SQL.Text:= 'update equipos set existencia = existencia'+ FacturaQuery1cantidad.AsString;
FacturaQuery1.ExecSql;
end;

josi 12-06-2008 02:24:06

begin

articulosquery1.Close;
articuloquery1.SQL.Text:= 'update equipos set existencia = existencia'+ FacturaQuery1cantidad.AsString;
FacturaQuery1.ExecSql;
end;

me sigue dando el mismo error

Caral 12-06-2008 02:52:19

Hola
Código Delphi [-]
FacturaQuery1cantidad.AsString;
1- Para que esto funcione tiene que estar el campo cantidad en la caja del query (FacturaQuery1) de lo contrario no lo reconocerá.
Como hacerlo:
Darle doble click al query (FacturaQuery1).
Click derecho y add files, con esto pondras los campos en esta pantallita.
Código Delphi [-]
begin
articulosquery1.Close;
articulosquery1.Clear; // por si acaso
articuloquery1.SQL.Text:= 'update equipos set existencia = existencia'+ FacturaQuery1cantidad.AsString;
// FacturaQuery1.ExecSql; // esto no va no tiene logica.
articuloquery1.ExecSql;
end;
2- Si se esta haciendo un update del query articuloquery1 por que se hace un execute del query FacturaQuery1, no tiene lógica.
Del query FacturaQuery1 lo que se hace es una comparación con la existencia nada mas.

Saludos

Delphius 12-06-2008 06:24:24

Hay algo que no me cuadra.
Claramente el error manifiesta que un query no está en modo edición.

Pero lo que dice acerca sobre que query no está en modo de edición no cuadra con el código que tienes.

Tu dices que el error hace referencia a un equiposquery1, pero en el código que expones no veo ningún equiposquery1.
Además, tu consulta pretende actualizar una tabla equipos. Y el nombre asociado al query es articuloquery1.:confused:

Se que pueden ser dos cosas distintas, e indiferentes. Pero por lo general el nombre del TQuery hace alusión a una tabla del mismo nombre. Yo veo un Articuloquery1 que está por lanzar una consulta de actualización sobre la tabla equipos...

Y esto me lleva a volver a la pregunta inicial ¿Nos estamos refiriendo a articuloquery1 o a un equiposquery1?
:confused:

Esa es mi duda.

¿Josi podemos ver el código que se ejecuta antes y/o después de ese?
Porque el error no lo veo allí...

Saludos,

Lepe 12-06-2008 11:40:01

otro problema añadido es que no se está sumando, el símbolo de suma que aparece es el operador de delphi para concatenar cadenas, pero realmente no se está haciendo la suma:
Código Delphi [-]
// articulosquery1.Close; no hace falta
articuloquery1.SQL.Text:= 'update equipos set existencia = existencia + '+ FacturaQuery1cantidad.AsString;
articuloquery1.ExecSql;
ShowMessage('Existencias actualizadas: ' + inttostr (articuloquery1.RowsAffected));


La franja horaria es GMT +2. Ahora son las 21:17:47.

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