FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Componente DBEdit!!!
Hola:
Estoy trabajando con la base de datos MySQL 2005 y Delphi 2007. Tengo una tabla con un campo definido como char(35) en la base de datos. Por otra parte en la aplicación tengo un formulario que contiene un DBEdit que se conecta con este campo. El problema es el siguiente, al ejecutar la aplicación y querer editar el DBEdit solo me permite borrar y escribir sobre los espacios que estaban antes escritos y no más. Otra de las cosas que hace es si ya existe algo escrito y coloco el cursor lo más a la izquierda posible, es decir, hasta el limite de 35 caracteres y luego voy borrando hacia atrás, ahi si me deja editarlo completo. Revice las propiedades y ReadOnly: esta en false, no se tal ves sea otra propiedad???? Muchas gracias. |
#2
|
||||
|
||||
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. |
#3
|
|||
|
|||
Gracias
Muchas gracias por tu explicación, ahora funciona!!!
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Componente DBEdit | Rogersito Plus | Firebird e Interbase | 2 | 04-09-2006 21:08:36 |
Dbedit | linnk | Tablas planas | 6 | 27-06-2006 21:47:51 |
DBEdit con SQL | Juanito-Kun | SQL | 6 | 24-04-2005 15:19:01 |
Componente DBEdit con formato | k2k2k2 | Varios | 2 | 16-05-2004 22:03:16 |
Componente derivado de DBEdit que active un hint con un dato específico | HombreSigma | OOP | 4 | 15-07-2003 11:42:07 |
|