如何將空參數傳遞給SQL服務器查詢。 我有一個簡單的表,可以爲null的int列。 如果我傳遞一個.NET空值,我得到一個sql錯誤。如果我傳遞了DBNull.Value,則沒有行匹配過濾器。有沒有簡單的方法來做到這一點,而不使用ISNULL。將NULL參數傳遞給SQL服務器查詢
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();
...
不完全正確的 - 有一個空未知字符串和之間的差異知道零長度的值 – 2009-07-07 19:40:12