繁体   English   中英

我可以在SQLiteCommand中使用DBNull.Value吗

[英]Can I use DBNull.Value in SQLiteCommand

让我们想象一下下一种情况,我正在为SQLite使用ADO.NET数据提供程序,并想通过SQLite数据库中的用户名和电子邮件(电子邮件为NULL)选择一个用户。

using (var cmd = new SQLiteCommand(conn))
{
   cmd.CommandText = "SELECT UserId FROM User WHERE Name=@Name and Email=@Email";
   cmd.Parameters.AddWithValue("Name", userName);
   cmd.Parameters.AddWithValue("Email", ((object)userEmail) ?? DBNull.Value);
   var user = (int?)cmd.ExecuteScalar() ?? 0;
}

结果,我无法获得现有用户。 问题是:可以将DBNull.Value与SQLiteCommand一起使用吗?

您将以= NULL结束,这是无效的,因为没有什么等于null。

怎么样... WHERE Name=@Name and (Email=@Email or @Email IS NULL)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM