【发布时间】:2014-06-06 17:31:16
【问题描述】:
我的 SQL 查询中的参数很少,它只接受 '' 值它不会接受 null,所以我想将 '' 值作为参数传递,这怎么可能,下面是我正在尝试做的代码
param = new SqlParameter("@CodeNumber", SqlDbType.VarChar);
if (!string.IsNullOrEmpty(SearchCriteria.CodeNumber))
{
param.Value = SearchCriteria.CodeNumber;
}
else
{
param.Value = DBNull.Value;
//param.Value = ''; I want to pass something like this
}
cmd.Parameters.Add(param);
param = new SqlParameter("@LicenseDate", SqlDbType.DateTime);
if (SearchCriteria.LicenseDate != null && SearchCriteria.LicenseDate != default(DateTime))
{
param.Value = SearchCriteria.LicenseDate;
}
else
{
param.Value = DBNull.Value;
//param.Value = ''; I want to pass something like this
}
cmd.Parameters.Add(param);
我没有收到任何错误,但在查询中它没有被视为''
【问题讨论】:
-
传递字符串
""怎么样?当然,这不适用于DateTime参数。 -
DBA 已经编写了我必须只通过 ' ' 的查询
-
是的,但在 TSQL 中这是一个空字符串。您是否尝试过将 C# 中的空字符串作为参数传递?
-
空字符串而不是char
param.Value = ""; -
DateTime 会出现什么错误
标签: c# sql-server parameter-passing