ExecuteScalar retorna nulo ou DBNull (servidor de desenvolvimento ou produção)

Estou tentando adicionar uma coluna a um @ existenDataRow em c #. Posteriormente, a coluna será preenchida com um único valor do meu banco de dado

@DataRow dr já existe e a coluna "COLNAME" também exist
comTBP é meuSqlCommand.

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

Isso tudo funciona bem se houver um valor no meu banco de dados e ExecuteScalar () puder obter esse valor. Se eu testar esse código no meu servidor de desenvolvimento (local), ele também funcionará se ExecuteScalar () retornar nulo ou DBNull e o valor da minha nova coluna for 0. Mas o problema aparece se eu implantar meu código no servidor de produção. Se eu fizer tudo igual, com o mesmo banco de dados, ele lança uma exceção com uma mensagem de que não pode converter DBNull em Int3
Minha pergunta é por que esse erro aparece no servidor de produção e não no meu servidor de desenvolvimento loca

questionAnswers(3)

yourAnswerToTheQuestion