foreach (DataRow row in dataTable.Rows) { String addressType; Int16 addr_type = row.Field<Int16>("addr_type"); // this line produces this errorI verified that the addr_type column is defined as tinyint not null in the table in SQL Server. I tried other variations as well using Int16? and Int32 and all of them resulted in the same error.