|
Lo que sucede es que al tener el campo definido como Char(35), el manejador de bases de datos llena los 35 caracteres, primero con lo que se haya escrito y el resto con espacios en blanco. Por eso "no te deja" escribir más, porque ya está lleno con caracteres en blanco. Vamos a ver si puedo poner un ejemplo:
Imagina que yo tengo un campo CHar(10), y que los "_" representan los caracteres en blanco.
Si yo guardo "Hola", en mi base de datos se guardará como "Hola______" y así es como se pondrá en el DBEdit.
Si en el DBEdit, coloco el cursor justo después de la "a", ya no puedo escribir más, porque el Edit está lleno con espacios en blanco, si coloco el cursor al final del DBEdit, y presiono "retroceso", voy borrando esos espacios en blanco, lo cuál me permite escribir nuevamente.
Para solucionar esto, en SQL Server existe el tipo de dato "VarChar", el cuál solo guarda los caracteres necesarios, es decir, si yo tengo un Varchar(10) y guardo "Hola", solo se usan 4 caracteres, si guado "Hola como estas", solo se guarda "Hola como ".
No se si exista un dato similar al Varchar en MySQL, pero siempre podrás utilizar la función Trim de Delphi, o su similar en MySQL.
Última edición por ContraVeneno fecha: 31-03-2009 a las 23:11:37.
|