Ik heb het grootste deel van mijn SQL-logica ingekapseld in een DAL. Een van deze DAL-methoden haalt scalaire Ints op met behulp van de volgende logica. Het kan voor u werken:
object temp = cmnd.ExecuteScalar();
if ((temp == null) || (temp == DBNull.Value)) return -1;
return (int)temp;
Ik weet dat je hierboven veel code hebt ingevoerd, maar ik denk dat dit echt de essentie van je probleem is. Veel succes!