SqlCeCommand und Leerzeichen

09/03/2010 - 14:38 von Franko Baer | Report spam
Hallo,

ich versuche eine Tabelle per SqlCeCommand zu füllen:

SqlCeCommand cmd = con.CreateCommand();
cmd.CommandText = "INSERT INTO Mitarbeiter (Name) VALUES (@Name)";
cmd.Parameters.Add("@Name", SqlDbType.NChar, 20);

cmd.Parameters["@Name"].Value = "Peter";
cmd.ExecuteNonQuery();

Das funktioniert soweit auch.

Aber schaue ich dann in der Datenbank nach, steht dann statt 'Peter'
'Peter ' drin. Sprich es wurde mit Leerzeichen auf 20
Zeichen aufgefüllt.

Was muss ich àndern, damit die Werte nicht mit Leerzeichen aufgefüllt
werden.

Gruss Franko Baer


__________ Hinweis von ESET NOD32 Antivirus, Signaturdatenbank-Version 4928 (20100309) __________

E-Mail wurde geprüft mit ESET NOD32 Antivirus.

http://www.eset.com
 

Lesen sie die antworten

#1 Konrad Neitzel
09/03/2010 - 15:10 | Warnen spam
Hallo Franko!

"Franko Baer" schrieb im Newsbeitrag
news:
Aber schaue ich dann in der Datenbank nach, steht dann statt 'Peter'
'Peter ' drin. Sprich es wurde mit Leerzeichen auf 20
Zeichen aufgefüllt.

Was muss ich àndern, damit die Werte nicht mit Leerzeichen aufgefüllt
werden.



Das sieht danach aus, dass Du in der Tabelle das Feld als [n]char(20)
definiert hast, d.h. als ein Textfeld mit immer 20 Zeichen. Du möchstest es
aber anscheinend als [n]varchar(20) definieren: Ein Textfeld variabler Lànge
mit bis zu 20 Zeichen.

Schau Dir einmal auf msdn die definition der Typen nchar, char, varchar und
nvarchar an.

Mit den besten Grüßen,

Konrad

Ähnliche fragen