Zunächst einmal mag ich es, Datentypen zu spezifizieren, und ich verabscheue AddWithValue
Funktionen.
Ich baue eine lokale SqlCeServer 3.5 Datenbankanwendung unter .NET 4.0, die auf dem PC des Benutzers ausgeführt wird.
Als ich die Tabelle erstellt habe, habe ich NVarChar(50)
um meine Stringfelder zu spezifizieren.
Dies scheint gut zu funktionieren, und ich kann die Tabelle öffnen, um zu überprüfen, ob alles gut funktioniert hat in Microsoft SQL Server Management Studio 2008 .
Wenn ich Daten in meine Tabellen einfüge, verwende ich
public static SqlCeParameter ParameterString(string ColumnName, string value) {
SqlCeParameter p = new SqlCeParameter();
p.ParameterName = string.Format("@{0}", ColumnName);
p.DataType = DbType.String;
p.Size = 50;
p.Value = value;
return p;
}
Wenn ich diese Daten einfüge, treten keine Fehler auf, aber die Daten werden nicht eingefügt. Andere Datentypen ( int
, DateTime
, float
usw.) werden ohne Probleme eingefügt.
F: Gibt es eine andere DbType
Ich muss angeben, dass ich einfügen möchte als NVarChar
?