Hola giulichajari.
De nuevo estas llamando a los parámetros antes de ser declarados en la sentencia. Mas allá de cualquier otro error que pudiera existir, no va a funcionar de ese modo. Es más, me extraña que no te aparezca la excepción "
Parameter 'xxxx' not found".
Siempre primero declara la consulta con sus parámetros y luego, una vez que existan, hace referencia a ellos.
También te aconsejo que te acostumbres a llamar al método
Clear antes de invocar al método
Add, eso limpiará cualquier residuo que pudiera haber quedado. Te vas a ahorrar dolores de cabeza con errores de sintáxis de
SQL que no vas a saber de donde vienen...
Código Delphi
[-]
procedure Tsucursales.hacerticket(ticket:Tticket);
begin
consultas:=Tsucursallaferretera.Create(nil);
with consultas.queryticket do
begin
SQL.Clear;
SQL.Add('insert into ticket(idticket,numero,importe,fechae,horae,idsucursal)');
SQL.Add('values (null,:numero,:importe,:fechae,:horae,:idsucursal);');
ParamByName('idsucursal').AsInteger:=ticket.idsucursal;
ParamByName('importe').AsFloat:=ticket.importe;
ParamByName('fechae').AsString:=ticket.fechae;
ParamByName('horae').AsString:=ticket.horae;
ExecSQL();
end;
end;
Saludos