参数化查询参数可能为空咋办咛
语句是:SELECT * FROM table1 WHERE name=@name对应的C#:
command.Parameters.Add("@name", SqlDbType.NVarchar).Value = name1;
但是可能需要查name字段值为null的数据,即WHERE name IS NULL效果
但是这不是
command.Parameters.Add("@name", SqlDbType.NVarchar).Value = DBNull.Value;
能解决的。有无好办法呢 --------------------编程问答-------------------- SELECT * FROM table1 WHERE name is null or name=@name
?
--------------------编程问答-------------------- if (String.isnullOrEmpty(name))
{
sql = "SELECT * FROM table1 WHERE name is null";
}
else
{
sql = "SELECT * FROM table1 WHERE name=@name";
command.Parameters.Add("@name", SqlDbType.NVarchar).Value = name1;
......
} --------------------编程问答--------------------
这个就可以 --------------------编程问答-------------------- name=isnull(@name,'')试试 --------------------编程问答--------------------
select ISNULL(name,'空'), 把所有字段都写在这 别用 * from userinfo where name is null or name=@name --------------------编程问答--------------------
不不不,这样的话任何时候都会查出name为null的记录,我需要的是如果c#变量name1=="abc",就查出字段name=abc的记录,如果name1为null,就查出字段name IS NULL的记录
我现在也是3楼那么写的,想找找更好的办法
补充:.NET技术 , C#