2012-06-22 12 views
5

Ho un campo nvarchar(50) nella mia tabella. Quando salvo una stringa con 12 character Length, ad esempio, salva la stringa con 50 character length. In realtà aggiunge un carattere di spazio alla fine della stringa. Dovrei selezionare un altro tipo di dati?Spazio carattere alla fine di una stringa durante il salvataggio nel database

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

Dopo aver salvato una stringa direttamente (in SQL Server) nel NameFamily campo della tabella, tutto va bene.

+0

Cant basta usare .Trim() sul valore casella di testo prima di assegnare al nome? – CSharpened

+0

Qualcos'altro deve essere sbagliato qui. Se hai una stringa di 12 chr e la salvi in ​​un nvarchar (50), il database non dovrebbe aggiungere padding con spazi alla fine. Controlla che stai davvero salvando sulla colonna nvarchar (50). –

+0

'tmp_Person.NameFamily' è' string (System.String) 'in' .dbml' e il problema è dopo l'invio della stringa per il salvataggio nel database. Sto salvando nella colonna nvarchar (50). L'errore – hamze

risposta

1

Ho trovato il problema. Ho appena aggiunto di nuovo il mio tavolo nel file .dbml e tutto è andato bene.

-2

Utilizzare questa Trim(txt_NameFamily.Text)

1

Se si utilizza Entity Framework, impostare la proprietà Fixed Length per true sui vostri campi nvarchar.

È comunque possibile utilizzare Trim, tuttavia, è sufficiente "correggere" il valore textBox.Text e non ha nulla a che fare con il database.

1

Ho avuto lo stesso problema. Rimuovere. IsFixedLength() dalle proprietà Nvarchar nella classe Mapping e il mio problema risolto.

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

sostituiti con

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

Aveva lo stesso problema. Ho dovuto aggiustarlo nel file '.edmx' impostando l'attributo' FixedLength' a 'false' per la proprietà nel EntityType rilevante. Il problema si è verificato perché la colonna è stata impostata su 'nchar' prima. – Dehalion

Problemi correlati