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 31-03-2009
Sole_l Sole_l is offline
Miembro
 
Registrado: mar 2009
Posts: 14
Poder: 0
Sole_l Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 31-03-2009
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 31-03-2009
Sole_l Sole_l is offline
Miembro
 
Registrado: mar 2009
Posts: 14
Poder: 0
Sole_l Va por buen camino
Gracias

Muchas gracias por tu explicación, ahora funciona!!!
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
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


La franja horaria es GMT +2. Ahora son las 06:39:55.


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