У меня есть приложение базы данных winforms, использующее SQLite, написанное на C #. Я пытаюсь выполнить некоторые запросы SQLite с помощью оболочки C #, но у меня возникают проблемы с запросом, когда я проверяю значения NULL. Вот оператор вызова.
sqliteQuery.selectFromDatabase("*", "WHERE (FirstNotify = NULL) AND (SecondNotify != NULL) AND (ThirdNotify = NULL)");
И вот код, стоящий за этим.
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();
}
}
Запрос вообще ничего не возвращает, когда он должен возвращать несколько записей. Правильно ли я обрабатываю пустые чеки? Я нашел несколько других постов, которые используют WHERE (VAR IS NULL) вместо использования equals. Я пробовал и то и другое, но не уверен, как обращаться с «не равно», когда я использовал «IS» вместо «равно». У кого-нибудь есть понимание?
Спасибо!