![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas con campo varchar(max)
Hola que tal Amigos espero que tenga un buen dia todos.
Bueno tengo un pequeño problemita y espero que me puedan ayudar. Estoy trabajando con una base sql server 2005 y d7, y en una tabla tengo declarado un campo varchar(max) donde quiero guardar gran cantidad de informacion. el problemas que tengo es que hasta 255 caracteres me guarda bien la informacion.pero si argrego mas de 255 caracteres me guarda simbolos. ![]() He intentado cambiar el campo y declararlo como text pero es igual siempre despues de 255 caracteres me guarda simbolos. Espero me puedan dar una ayuda Gracias |
#2
|
||||
|
||||
Y ese 'max' ¿qué es?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
es el tipo de dato
es de tipo varchar (max) dentro del parentesis va la longitud. Max indica el tamaño de almacenamiento maximo |
#4
|
||||
|
||||
Sí, bien, pero ¿cuánto vale 'max'?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
![]() ¿Y qué tipo de variable utilizas para contener el dato dentro de Delphi? ¿String o WideString? Por que String tiene la limitante a los 255 caracteres y WideString no tiene un límite; o al menos, un límite que llenes fácilmente.
Prueba por ahí y platicamos.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco |
#6
|
||||
|
||||
![]() Alguna vez yo tuve un problema muy parecido si no es que idéntico. Lo resolví satisfactoriamente cambiando la variable a tipo WideString.
No le busques más, ésa es tu solución, a despecho que en un memo "veas" el contenido de la variable.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco |
#7
|
||||
|
||||
Yo utilizo SQL SERVER 2005 con varchar(MAX) no he tenido ningún problema hasta ahora, como dice tiammat utiliza el WideString que es la asignación correcta para guardar los datos.
Una breve explicación de la ayuda de SQL SERVER 2005 Son tipos de datos de caracteres que tienen longitud fija o variable. char [ ( n ) ] Datos de caracteres no Unicode de longitud fija, con una longitud de n bytes. n debe ser un valor entre 1 y 8.000. El tamaño de almacenamiento es n bytes. El sinónimo de char en SQL-2003 es character. varchar [ ( n | max ) ] Datos de caracteres no Unicode de longitud variable. n puede ser un valor entre 1 y 8.000. max indica que el tamaño de almacenamiento máximo es de 2^31-1 bytes. El tamaño de almacenamiento es la longitud real de los datos especificados + 2 bytes. Los datos especificados pueden tener una longitud de 0 caracteres. Los sinónimos de varchar en SQL-2003 son char varying o character varying. Notas Cuando no se especifica n en una instrucción de definición de datos o de declaración de variable, la longitud predeterminada es 1. Cuando no se especifica n al utilizar las funciones CAST y CONVERT, la longitud predeterminada es 30. A los objetos que utilizan char o varchar se les asigna la intercalación predeterminada de la base de datos, a menos que se asigne una intercalación específica mediante la cláusula COLLATE. La intercalación controla la página de códigos utilizada para almacenar los datos de caracteres. Si tiene sitios que admiten varios idiomas, considere el uso de tipos de datos Unicode nchar o nvarchar para reducir al mínimo los problemas de conversión de caracteres. Si usa char o varchar, siga estas recomendaciones: Utilice char cuando los tamaños de las entradas de datos de columna sean coherentes. Utilice varchar cuando los tamaños de las entradas de datos de columna varíen de forma considerable. Utilice varchar(max) cuando los tamaños de las entradas de datos de columna varíen de forma considerable y se pudieran superar los 8.000 bytes. Si SET ANSI_PADDING es OFF cuando se ejecuta CREATE TABLE o ALTER TABLE, una columna de tipo char definida como NULL se trata como si fuera de tipo varchar. Si la página de códigos de la intercalación utiliza caracteres de doble byte, el tamaño de almacenamiento sigue siendo de n bytes. Dependiendo de la cadena de caracteres, el tamaño de almacenamiento de n bytes puede ser inferior a n caracteres. Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. Última edición por olbeup fecha: 10-02-2012 a las 08:27:08. |
#8
|
|||
|
|||
Cita:
Ya prove como me lo aconsejaste de cambiar la variable de string a widestring y sigue igual,no se si porque estoy utizando sql server express 2005 no se si eso influye o no tengo idea por que me sigue dando simbolos. |
#9
|
||||
|
||||
Puede que sea alguna limitación del componente que usas para conectar
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#10
|
|||
|
|||
Problema resuelto
Cambie algunos componente de bde a ADO y ( Como decia un Maestro de una clase de Programacion 'Como por arte de magia se soluciono' ![]() ![]() Gracias amigo por sus respuesta me sirvieron de mucho la ayuda.. les debo una |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Campo varchar > 255 con TQuery y SQL Server 2000 | Lord Delfos | Conexión con bases de datos | 3 | 08-08-2008 23:26:13 |
Cómo cambiar el tamaño de un campo tipo varchar | subzero | Firebird e Interbase | 3 | 12-10-2007 14:57:27 |
Escribir un campo VARCHAR en Mysql !?? | RJF | MySQL | 1 | 19-07-2006 09:57:41 |
Usar un campo varchar(500) o un Memo? | pyanqn | Conexión con bases de datos | 2 | 17-11-2005 09:08:49 |
Como convertir un campo VARCHAR a uno BLOB, si se puede? | judoboy | Firebird e Interbase | 10 | 31-07-2003 17:28:45 |
![]() |
|