C # MySqlCommand параметр со значением DBNull.Value не работает - PullRequest
0 голосов
/ 11 сентября 2018

Почему значение DBNull.Value не работает в следующем коде? Я получаю false в качестве возвращаемого значения, хотя я уверен, что есть запись, которая соответствует.

(machineNumber действительно имеет значение "b", так что проблема не в этом)

MySqlCommand cmd = new MySqlCommand("SELECT * FROM `sparter` WHERE `id` = @machineNumber AND `account_id` = @null", conn);

            cmd.Parameters.AddWithValue("@machineNumber", machineNumber);
            cmd.Parameters.AddWithValue("@null", DBNull.Value);

            using (var reader = cmd.ExecuteReader())
            {
                return reader.read();
            }

Пока этот запрос работает в MySqlWorkbench:

SELECT * FROM `sparter` WHERE `id` = "b" AND `account_id` IS NULL

1 Ответ

0 голосов
/ 11 сентября 2018

На самом деле, в MySQL использование = or != null не работает.Используйте IS NULL или IS NOT NULL.

Можете ли вы попробовать это:

MySqlCommand cmd = new MySqlCommand("SELECT * 
                                     FROM `sparter`
                                     WHERE `id` = @machineNumber AND `account_id` is @null", conn);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...