如何:在SQLite查询中表示NULL

COD*_*ODe 1 c# sqlite winforms

我有一个使用SQLite编写的SQLite数据库winforms应用程序.我正在尝试使用C#包装器执行一些SQLite查询,但是我在检查NULL值时遇到了一些问题.这是调用语句.

sqliteQuery.selectFromDatabase("*", "WHERE (FirstNotify = NULL) AND (SecondNotify != NULL) AND (ThirdNotify = NULL)");
Run Code Online (Sandbox Code Playgroud)

这是它背后的代码.

public DataTable selectFromDatabase(String column, String filter)
    {
        string SQL = "SELECT " + column + " FROM SUBCONTRACTOR " + filter;
        SQLiteCommand cmd = new SQLiteCommand(SQL);
        cmd.Connection = connection;
        SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
        DataSet ds = new DataSet();
        try
        {
            da.Fill(ds);
            DataTable dt = ds.Tables[0];
            return dt;
        }
        catch (Exception e)
        {
            MessageBox.Show(e.ToString());
            return null;
        }
        finally
        {
            cmd.Dispose();
            connection.Close();
        }
    }
Run Code Online (Sandbox Code Playgroud)

当它应该返回几条记录时,查询根本不返回任何内容.我正确处理NULL检查吗?我发现了一些其他帖子使用WHERE(VAR IS NULL)而不是使用equals.我已经尝试了两种,但我不确定当我使用"IS"而不是"等于"时如何处理"不等于".有人有任何见解吗?

谢谢!

Ant*_*ram 5

你想用IS NULLIS NOT NULL平等/不平等比较空的时候.