Ver la Versión Completa : Error al insertar datos a una consulta
The Cid James
20-11-2017, 17:30:49
Buenas gente estoy tratando de agregar los datos a una consulta y al ejecutarla me dice que la consulta esta vacía este es el código que estoy usando
fmodulo.Qtotal.Close;
fmodulo.Qtotal.SQL.Clear;
fmodulo.Qtotal.SQL.Text := 'Select SUM(Precio_v) As Total FROM detalles_venta Where detalles_venta.estado = 1 and detalles_venta.id_detalle = :idv';
fmodulo.Qtotal.ParamByName('idv').AsInteger := numventap;
fmodulo.Qtotal.ExecSQL;
fmodulo.Qtotal.Refresh;
Casimiro Notevi
20-11-2017, 19:44:25
Creo que te he recomendado alguna vez un libro con el que serías un "maestro" en delphi con bases de datos. Es este (http://terawiki.clubdelphi.com/Delphi/Manuales/?download=La_Cara_Oculta_De_Delphi_4_pdf_.zip).
No puedes "insertar" en una "consulta". Una consulta es una consulta, y un insert es un insert.fmodulo.Qtotal.Close;
// fmodulo.Qtotal.SQL.Clear; -> no sirve
fmodulo.Qtotal.SQL.Text := 'Select SUM(Precio_v) As Total FROM detalles_venta Where detalles_venta.estado = 1 and detalles_venta.id_detalle = :idv'; // -> ¿Falta group by
fmodulo.Qtotal.ParamByName('idv').AsInteger := numventap;
// fmodulo.Qtotal.ExecSQL; -> si es un "insert", entonces execsql. Si es un select, entonces "open"
fmodulo.Qtotal.Open // --> "open" si es un select
// fmodulo.Qtotal.Refresh; -> no sirve
Todo esto sin saber qué componentes usas, base de datos, ni nada.
ecfisa
20-11-2017, 19:46:10
Hola.
Si no es una consulta de actualización no uses el método ExecSQL, simplemente usa Open.
...
fmodulo.Qtotal.Open;
...
Saludos :)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.