Non sono sicuro che questo sia il problema nel tuo caso, ma dovresti sempre controllare il risultato di Read(). es.
if (myReader.Read())
{
statement = myReader.GetString(0);
}
Modifica: Inoltre, quello che stai effettivamente facendo è recuperare uno scalare, e come tale potresti usare ExecuteScalar()
return (myCommand.ExecuteScalar() ?? string.Empty).ToString();
//also rename your method appropriately