Hola angelvazv.
El error es de conversión, estás intentando asignar un valor de tipo
Integer en una variable que puede almacenar el tipo
string. Lamentablemente no pusiste la declaración de variables así que voy a tentar la suerte...
Te pongo un código un poco diferente, utilizando parámetros. Que a mi criterio, le otorga seguridad, claridad y simplicidad:
Código Delphi
[-]
with zquery1 do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO empleado(numemp, nombre, apepat, apemat,');
SQL.Add('direccion, telcasa, telcel, puesto, fechan, edad, fingreso)');
SQL.Add('VALUES(:nemp, :nom, :paterno, :materno, :direc, :telca,');
SQL.Add(':telcel, :pues, :nacim, :edad, :hoy)');
ParamByName('nemp').AsInteger:= nemp;
ParamByName('nom').AsString:= nom;
ParamByName('paterno').AsString:= paterno;
ParamByName('materno').AsString:= materno;
ParamByName('direc').AsString:= direc;
ParamByName('telca').AsString:= telca;
ParamByName('telcel').AsString:= telcel;
ParamByName('pues').AsString:= pues;
ParamByName('nacim').AsString(nacim);
ParamByName('edad').AsInteger:= edad;
ParamByName('hoy').AsInteger:= hoy;
ExecSQL
end;
Si te fijas, en tres líneas usé
AsInteger, sospecho que en esos casos estás asignando un
Integer a un
TStringField (pero podrían ser más).
Si declaras una variable de tipo
Integer como por ejemplo
nemp (creo que es integer), no podés asignarla a un campo de tipo
TStringField sin hacer antes las conversiones necesarias.
Sin el uso de parámetros tendrías que hacer algo parecido a:
Código Delphi
[-]
zquery1.Close;
zquery1.SQL.Clear;
zquery1.SQL.Add('INSERT INTO empleado(numemp,nombre,apepat,apemat,direccion,telcasa,telcel,puesto,fechan,edad)');
zquery1.SQL.Add('VALUES(' + QuotedStr(IntToStr(nemp)) + ',' + QuotedStr(nom) + ',' + QuotedStr(paterno) + ',' +
QuotedStr(materno) + ',' + QuotedStr(direc) + ',' + QuotedStr(telca) + ',' + QuotedStr(telcel)+ ',' +
QuotedStr(pues) + ',' + QuotedStr(nacim) + ',' + QuotedStr(IntToStr(edad)) + ',' + QuotedStr(IntToStr(hoy)) + ')');
zquery1.ExecSQL;
¨
Encerrando entre comillas y convirtiendo a cadena mediante la función correspondiente, a cada variable de tipo entera o flotante que utilices.
Como verás, es un código mucho más complejo, difícil de leer y propenso a errores.
Saludos.