Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-03-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
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.
__________________
[Lo que a veces es tan facil, a veces parece imposible]

Última edición por vtdeleon fecha: 28-03-2007 a las 00:04:47.
Responder Con Cita
  #2  
Antiguo 27-03-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #3  
Antiguo 27-03-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
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?
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #4  
Antiguo 27-03-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #5  
Antiguo 27-03-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
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.
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Fieldbyname diferencias jlrbotella Conexión con bases de datos 1 06-03-2007 19:20:56
NO ENTRA -> if Enum.Text = adoquery1.FieldByName('numero').AsString then sakuragi Conexión con bases de datos 3 29-05-2005 18:11:06
curiosidad de FieldbyName Lepe Conexión con bases de datos 18 15-05-2003 19:25:46


La franja horaria es GMT +2. Ahora son las 09:39:11.


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
Copyright 1996-2007 Club Delphi