Ver Mensaje Individual
  #2  
Antiguo 01-04-2026
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Reputación: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Pueden ser varias causas, por ejemplo:

Conversión con StrToFloat
Código Delphi [-]
dm.FDQuery1.ParamByName('val2').asfloat := strtofloat(edit2.text);
En España usamos coma, y MySQL espera punto.

Servidor MySQL remoto (timeout / hosting)
Como dices que está en hosting web, muy típico, el servidor corta conexiones si tardan demasiado, hay error en la query, paquete inválido...

Campo incompatible en MySQL
Revisa la tabla platillos, posibles problemas: precio es DECIMAL y le mandas mal formato, disponible no es INTEGER (ej: TINYINT o BOOL)o categoriaid no existe o FK inválida

Valores inválidos (muy común)
strtoint(edit3.text)
strtoint(edit4.text)
Si el usuario deja vacío entonces ocurre una excepción.

Conexión cerrada previamente
Antes del ExecSQL, revisa:
Código Delphi [-]
if not dm.FDConnection1.Connected then
dm.FDConnection1.Connected := True;

Prueba rápida:
Código Delphi [-]
dm.FDQuery1.SQL.Text :=
  'INSERT INTO platillos (nombre, precio, disponible, categoriaid) VALUES ("TEST", 10.5, 1, 1)';
dm.FDQuery1.ExecSQL;

Si esto funciona entonces el problema está en los datos (seguro el float).
Responder Con Cita