Detta är väldigt enkelt ... det betyder att inga resultat returnerades från din fråga. Du måste alltid koda defensivt och kontrollera om radmatrisen har några objekt innan du försöker indexera in i den. Något i stil med:
if (dt.Rows.Count > 0)
soptype = dt.Rows[0]["SOPTYPE"].ToString();
else
somethingWentWrong();