2012-06-22 15 views
5

Tengo un campo nvarchar(50) en mi tabla. Cuando guardo una cadena con 12 character Length por ejemplo, guarda la cadena con 50 character length. En realidad, agrega un carácter de espacio al final de la cadena. ¿Debo seleccionar otro tipo de datos?Carácter de espacio al final de una cadena al guardar en la base de datos

tmp_Person.NameFamily = txt_NameFamily.Text.Trim(); 
PersonKBBSHDataContext.PersonInfos.InsertOnSubmit(tmp_Person); 
PersonKBBSHDataContext.SubmitChanges(); 

Cuando guardo una cadena directa (en SQL Server) en el campo de la tabla NameFamily, todo está bien.

+0

Cant que acaba de utilizar .trim() en el valor del cuadro de texto antes de que se le asigna el nombre? – CSharpened

+0

Algo más debe estar mal aquí. Si tiene una cadena de 12 chr y la guarda en un nvarchar (50), la base de datos no debe agregar relleno con espacios al final. Verifique que realmente esté guardando en la columna nvarchar (50). –

+0

'tmp_Person.NameFamily' es' string (System.String) 'en' .dbml' y el problema está después de enviar cadena para guardar en la base de datos. Estoy guardando en la columna nvarchar (50). – hamze

Respuesta

1

Encontré el problema. Acabo de agregar mi tabla nuevamente en el archivo .dbml y todo salió bien.

-2

Utilice esta Trim(txt_NameFamily.Text)

1

Si se utiliza el marco de la entidad, establezca la propiedad Fixed Length a true en sus campos nvarchar.

Todavía puede utilizar el Trim, sin embargo, eso es solo para 'corregir' el valor textBox.Text y no tiene nada que ver con la base de datos.

1

Tuve el mismo problema. Quite .IsFixedLength() de las propiedades de Nvarchar en Mapping class y mi problema resuelto.

Me.Property(Function(t) t.Description).IsFixedLength().HasMaxLength(500) 

reemplazado con

Me.Property(Function(t) t.Description).HasMaxLength(500) 
+0

Tenía el mismo problema. Tuve que arreglarlo en el archivo '.edmx' estableciendo el atributo' FixedLength' en 'false' para la propiedad en el EntityType relevante. El problema ocurrió porque la columna se estableció en 'nchar' primero. – Dehalion

Cuestiones relacionadas