Dbnull.value als NULL in SQL-Server speichern
VB 2010
Ein SQLCommand enthält den Command.text If(IsDBNull(... ein Datentyp integer .. )), DBNull.Value, ... ein Datentyp integer...)
Fehlermeldung des Debuggers:
Ein gemeinsamer Typ kann nicht abgeleitet werden, und Option Strict On lässt die Annahme des Object-Typs nicht zu.
Gibt es da eine Möglichkeit (ich möchte ungern den Wert 0 im SQL-Server speichern, sondern NULL verwenden) ?
Danke und Grüße von PCFJKG
Ein SQLCommand enthält den Command.text If(IsDBNull(... ein Datentyp integer .. )), DBNull.Value, ... ein Datentyp integer...)
Fehlermeldung des Debuggers:
Ein gemeinsamer Typ kann nicht abgeleitet werden, und Option Strict On lässt die Annahme des Object-Typs nicht zu.
Gibt es da eine Möglichkeit (ich möchte ungern den Wert 0 im SQL-Server speichern, sondern NULL verwenden) ?
Danke und Grüße von PCFJKG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1385439164
Url: https://administrator.de/contentid/1385439164
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
5 Kommentare
Neuester Kommentar
Sicher dass das der (verstümmelte) Inhalt vom SqlCommand.CommandText ist? Dort sollten nur SQL-Statements stehen...
Falls Du einen SqlParameter für den Wert verwendest: dort kannst Du als Wert NULL übergeben, um DbNull in das Feld zu schreiben (sofern das Feld nullable ist).
Falls Du einen SqlParameter für den Wert verwendest: dort kannst Du als Wert NULL übergeben, um DbNull in das Feld zu schreiben (sofern das Feld nullable ist).
Hallo
Das scheint ja nur ein Teil dessen zu sein womit das SQL-Statement zusammengebaut wird. Meist hat man da einfach mal irgendwo eine Klammer oder ein Anführungszeichen vergessen.
Kannst du das SQL-Statement so wie es erzeugt wird einfach als String ausgeben? Dann sieht man den Fehler meistens ganz schnell.
Manuel
Das scheint ja nur ein Teil dessen zu sein womit das SQL-Statement zusammengebaut wird. Meist hat man da einfach mal irgendwo eine Klammer oder ein Anführungszeichen vergessen.
Kannst du das SQL-Statement so wie es erzeugt wird einfach als String ausgeben? Dann sieht man den Fehler meistens ganz schnell.
Manuel
Moin,
du baust ja einen String zusammen. Du musst also, falls isDBNull(row(0).item) == True, den STRING "NULL" in den CommandText schreiben, und nicht (den Wert von) DBNull.Value
Oder du verwendest Prepared Statements -> https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlcom ...
lg,
Slainte
du baust ja einen String zusammen. Du musst also, falls isDBNull(row(0).item) == True, den STRING "NULL" in den CommandText schreiben, und nicht (den Wert von) DBNull.Value
Oder du verwendest Prepared Statements -> https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlcom ...
lg,
Slainte