c#executequery null值
-
22-09-2019 - |
题
我有一些代码:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", "19601023",
}
但是,我也希望能够将空值传递给存储过程,以便它不使用它们。
现在,有了字符串,这很容易,我可以通过string.empt。但是,如果我想通过空日期,这是一个问题。
我显然尝试了:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", null,
}
但这无效,给出错误:
System.Exception:Queryparameter不能是类型System.Object。
经过一些阅读后,我发现executecommand不支持NULL参数,而规格则断言它应该。
有人遇到这个问题并找到了解决方法吗?
谢谢一堆
解决方案
你有没有尝试过:
DBNull.Value
其他提示
你尝试发送吗 DBNull.Value
或新的 Nullable<DateTime>()
?
不隶属于 StackOverflow