ExecuteScalar возвращает ноль или DBNull (сервер разработки или производства)

Я пытаюсь добавить столбец в существующийDataRow в C #. После этого столбец будет заполнен одним значением из моей базы данных.

DataRow dr уже существует, и столбец "COLNAME" также существует.
ComTBP это мойSqlCommand.

dr["COLNAME"] = Convert.ToInt32(comTBP.ExecuteScalar());

Это все работает нормально, если в моей базе данных есть значение, и ExecuteScalar () может получить это значение. Если я тестирую этот код на моем сервере разработки (локальном), он также работает, если ExecuteScalar () возвращает null или DBNull и значение моего нового столбца равно 0. Но проблема возникает, если я разверну свой код на рабочем сервере. Если я делаю все то же самое, с той же базой данных он генерирует исключение с сообщением, что он не может конвертировать DBNull в Int32.
У меня вопрос, почему эта ошибка появляется на рабочем сервере, а не на моем локальном сервере разработки?

Ответы на вопрос(3)

Ваш ответ на вопрос