如何将空参数传递给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