Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Fieldbyname se cae (https://www.clubdelphi.com/foros/showthread.php?t=41855)

ilichhernandez 27-03-2007 22:33:37

Fieldbyname se cae
 
Estimados, tengo el codigo que aparece a continuacion, y estoy tratando de insertar los valores que tengo en unos edit a una tabla, pero resulta que cuando el valor a insertar es un integer, me sale un error que no es un integer valido, pero lo extraño es que en realidad si es un integer...... si a alguien le ha pasado esto agradeceria me comentara como lo soluciono....


Código Delphi [-]
dm.tbl_ordenes_impresion.append;
showmessage('bandera1');
dm.tbl_ordenes_impresion.FieldByName('numorden').AsInteger := strtoint(edit1.text);
showmessage('bandera2');
dm.tbl_ordenes_impresion.FieldByName('fecha').AsString := datetostr(datetimepicker1.date);
showmessage('bandera3');
dm.tbl_ordenes_impresion.FieldByName('rut').AsInteger := strtoint(edit3.Text);
showmessage('bandera4');
dm.tbl_ordenes_impresion.FieldByName('observacion').AsString := edit12.Text;
dm.tbl_ordenes_impresion.FieldByName('desc1').AsFloat := strtofloat(edit16.text);
dm.tbl_ordenes_impresion.FieldByName('desc2').AsFloat := strtofloat(edit19.Text);
dm.tbl_ordenes_impresion.FieldByName('destino1').AsString := edit13.Text;
dm.tbl_ordenes_impresion.FieldByName('destino2').AsString := edit11.Text;
dm.tbl_ordenes_impresion.FieldByName('puestoen').AsString := edit15.Text;
dm.tbl_ordenes_impresion.FieldByName('subtotal').AsFloat := strtofloat(edit21.text);
dm.tbl_ordenes_impresion.FieldByName('netodesc').AsFloat := strtofloat(edit22.Text);
dm.tbl_ordenes_impresion.FieldByName('iva').AsFloat := strtofloat(edit23.Text);
dm.tbl_ordenes_impresion.FieldByName('total').AsFloat := strtofloat(edit24.Text);
dm.tbl_ordenes_impresion.FieldByName('plazoentrega').AsString:= edit14.text;
dm.tbl_ordenes_impresion.FieldByName('valdesc1').AsFloat := strtofloat(edit17.Text);
dm.tbl_ordenes_impresion.FieldByName('valdesc2').AsFloat := strtofloat(edit20.Text);
dm.tbl_ordenes_impresion.FieldByName('totaldesc').AsFloat := strtofloat(edit18.Text);
dm.tbl_ordenes_impresion.FieldByName('nombre').AsString := edit2.Text;
dm.tbl_ordenes_impresion.FieldByName('direccion').AsString := edit4.Text;
dm.tbl_ordenes_impresion.FieldByName('comuna').AsString := edit7.Text;
dm.tbl_ordenes_impresion.FieldByName('ciudad').AsString := edit9.Text;
dm.tbl_ordenes_impresion.FieldByName('fono').AsInteger := strtoint(edit8.text);
dm.tbl_ordenes_impresion.FieldByName('fax').AsInteger := strtoint(edit10.text);
dm.tbl_ordenes_impresion.FieldByName('contacto').AsString := edit5.Text;
dm.tbl_ordenes_impresion.FieldByName('condpago').AsString := edit6.Text;
dm.tbl_ordenes_impresion.Post;




Gracias de antemanos.....
Saludos.

roman 27-03-2007 22:46:52

Sería bueno que indicaras en cual de las asignaciones se genera el error en lugar de poner todo el código de una sóla vez.

Ahora, no creo que el problema esté en el FieldByName sino en el StrToInt. Aisla la sentencia que te da el problema y ponnos el mensaje exacto que obtienes.

// Saludos

ilichhernandez 27-03-2007 22:54:10

El error que me arroja es Project raised exception class EconverterError with message "" is not a valid integer value. El error lo aisle con banderas para saber donde se caia exactamente y es en la sentencia

dm.tbl_ordenes_impresion.fieldbyname('numorden').AsInteger := strtoint(edit1.text);

ahora bien, al colocar esta sentencia en comentario, el error se desplaza a la siguiente linea donde el campo es integer. La linea de codigo que utiliza el campo String pasa ok. Y los edit a los que hago referencia estan con datos adecuados.....¿extraño no?

roman 27-03-2007 23:03:27

En lugar de

Código Delphi [-]
showmessage('bandera1');
dm.tbl_ordenes_impresion.FieldByName('numorden').AsInteger := strtoint(edit1.text);

Pon

Código Delphi [-]
showmessage(edit1.text);
dm.tbl_ordenes_impresion.FieldByName('numorden').AsInteger := strtoint(edit1.text);

Para ver realmente lo que contiene edit1.text, porque el error te está diciendo que el texto está vacío.

// Saludos

ilichhernandez 27-03-2007 23:09:46

Encontre el error, gracias Roman por tu ayuda, lo que sucedia es que entre tanto codigo que habia en ese formulario en un momento limpiaba los edits y por tanto cuando realizaba el proceso ya no estaban los datos que habia cargado con anterioridad, muchas gracias.

Salu2.


La franja horaria es GMT +2. Ahora son las 03:02:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi