Wie kann ich einen NULL-Parameter an eine SQL-Server-Abfrage übergeben. Ich habe eine einfache Tabelle mit einer Nullable Int-Spalte. Wenn ich einen .NET-Nullwert übergeben, erhalte ich einen SQL-Fehler. Übergeben Sie DBNull.Value, stimmt keine Zeile mit dem Filter überein. Gibt es einen einfachen Weg, dies ohne ISNULL zu tun.NULL-Parameter an SQL-Server-Abfrage übergeben
OleDbConnection connection = new OleDbConnection();
connection.ConnectionString = ...;
connection.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = connection;
cmd.CommandText = "select * from myTable where myColumn = ?";
OleDbParameter parameter = cmd.Parameters.Add(null, OleDbType.Integer);
parameter.DbType = System.Data.DbType.Int32 ;
parameter.IsNullable = true;
parameter.Value = DBNull.Value; // no row returned
parameter.Value = null; // sql error
var reader = cmd.ExecuteReader();
...
Nicht genau richtig - es gibt einen Unterschied zwischen einem Null unbekannten String und einem kenne den Wert der Nulllänge –