语句是: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;
能解决的。有无好办法呢

解决方案 »

  1.   

    SELECT * FROM table1 WHERE name is null or name=@name
    ?
      

  2.   

    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;
    ......
    }
      

  3.   


    select ISNULL(name,'空'), 把所有字段都写在这 别用 *  from userinfo where name is null or name=@name
      

  4.   


    不不不,这样的话任何时候都会查出name为null的记录,我需要的是如果c#变量name1=="abc",就查出字段name=abc的记录,如果name1为null,就查出字段name IS NULL的记录我现在也是3楼那么写的,想找找更好的办法