【发布时间】:2009-07-07 19:10:38
【问题描述】:
如何将空参数传递给 SQL 服务器查询。 我有一个可以为空的 int 列的简单表。 如果我传递一个 .NET 空值,我会收到一个 sql 错误。如果我通过 DBNull.Value,没有行匹配过滤器。有没有不使用 ISNULL 的简单方法。
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();
...
【问题讨论】:
标签: sql sql-server oledb oledbparameter