Page 1 of 1

error al leer un campo tipo texto

PostPosted: Tue Sep 02, 2014 9:04 pm
by J. Ernesto
Compañeros, tengo un erro en lo siguiente:

Estoy usando la clase tdolphin con mysql, al agregar un nuevo registro hago lo siguiente para añadir un registro en limpio:

oQuery:GetBlankRow ( .F. ) ,;
oDlg:Update () ,;
oGet [ 1 ]:SetFocus () ) ;

Los campos que voy a editar son:

@ 017, 052 GET oGet [ 01 ] VAR oQuery:nombres SIZE 150, 10 PIXEL FONT oFont OF oDlg UPDATE WHEN ( lNuevo .OR. lMod )
@ 030, 052 GET oGet [ 02 ] VAR oQuery:apellidos SIZE 150, 10 PIXEL FONT oFont OF oDlg UPDATE WHEN ( lNuevo .OR. lMod )

@ 043, 052 DTPICKER oGet [ 03 ] VAR oQuery:f_nace SIZE 060, 10 PIXEL FONT oFont OF oDlg UPDATE WHEN ( lNuevo .OR. lMod )
@ 043, 164 DTPICKER oGet [ 04 ] VAR oQuery:f_fallece SIZE 060, 10 PIXEL FONT oFont OF oDlg UPDATE WHEN ( lNuevo .OR. lMod )

@ 056, 052 GET oGet [ 05 ] VAR oQuery:direccion SIZE 150, 10 PIXEL FONT oFont OF oDlg UPDATE WHEN ( lNuevo .OR. lMod )
@ 069, 052 GET oGet [ 06 ] VAR oQuery:ciudad SIZE 150, 10 PIXEL FONT oFont OF oDlg UPDATE WHEN ( lNuevo .OR. lMod )
@ 082, 052 GET oGet [ 07 ] VAR oQuery:mobile SIZE 060, 10 PIXEL FONT oFont OF oDlg UPDATE WHEN ( lNuevo .OR. lMod )
@ 082, 164 GET oGet [ 08 ] VAR oQuery:telefono SIZE 060, 10 PIXEL FONT oFont OF oDlg UPDATE WHEN ( lNuevo .OR. lMod )

@ 095, 052 GET oGet [ 09 ] VAR oQuery:salario SIZE 060, 10 PIXEL FONT oFont OF oDlg UPDATE WHEN ( lNuevo .OR. lMod ) PICTURE "999,999,999.99"

Los campos tipo fecha y los numéricos los puedo editar bien, pero el campo nombres, apellidos no los puedo editar cuando están vacíos, que debo completqar paraa que sean editables?

Gracias

Re: error al leer un campo tipo texto

PostPosted: Wed Sep 03, 2014 12:31 am
by joseluisysturiz
Saludos, ya pase por esa y creo es un cambio en las ultimas versiones de TDolphin, si lo tienes no uses Val2Escape a menos que sea un campo TEXT, con eso se resolvio el problema, espero tambien te ayude con eso, cualquier otra cosa avisas, saludos... :shock:

Re: error al leer un campo tipo texto

PostPosted: Wed Sep 03, 2014 4:49 pm
by J. Ernesto
Estimado Josè Luis

Gracias por tomarse el tiempo de responder.

El problema que tengo con los campos, es el siguiente: en la tabla los campos carácter, están definidos como varchar ( xxx ) y NOT NULL , al añadir un registro a la tabla y al editar el campo, aparecen vacíos.

En el caso de los dbf, la longitud del campo se edita perfectamente, en mysql no lo logro hacer.

Hay alguna forma de decirle a mysql que no deje los campo vacíos, por que creo que el problema esta por este lado, no creo que sea problema de la clase tdoplhin.

Gracias.

Re: error al leer un campo tipo texto

PostPosted: Wed Sep 03, 2014 8:45 pm
by Willi Quintana
Hola amigos,
Aclarando el tema...

la variables tipo CHAR(), son de longitud fija, VARCHAR() de longitud variable, veamos:
nombre := CHAR(40), el campo nombre siempre tendrá una longitud de 40 caracteres, este con datos o vacía
nombre := VARCHAR(40), en este caso el campo nombre tendrá una longitud máxima de 40 caracteres, si el campo esta vacío, devuelve "", nada, vacío, pau, nonis,,,,,

si a un campo VARCHAR(100) le asigno un dato de 60 caracteres, en la DB, solo ocupara los 60 caracteres,,, lo que no sucede con CHAR(), con o sin dato, sigue ocupando la ongitud indicada.

Asi que con algo de cuidado todo va ok....
Salu2

Re: error al leer un campo tipo texto

PostPosted: Wed Sep 03, 2014 8:59 pm
by joseluisysturiz
Nose si te entiendo bien, si estas editando, es decir modificando un registro guardado te lo trae vacio.? si es asi, entonces es como te dije, que no uses Val2Escape para grabar tu campo, lo extraño es que si lo guardar con datos ya que lo tienes NOT NULL, entonces deberia traerte el valor que tienes el campo en la tabla, si puedes pon algo de codigo donde defines el valor de las variables cuando es nuevo y cuando modificas, haber si tienes algun detalle alli, saludos... :shock:

Re: error al leer un campo tipo texto

PostPosted: Fri Sep 05, 2014 8:12 pm
by J. Ernesto
Willi Gracias por la aclaración, eso me sucede con los varchar.... queda vacio el campo,¡.

Gracias, vere como ajusto el tipo de campo.