Du använder samma anslutning för DataReader och ExecuteNonQuery . Detta stöds inte, enligt MSDN :
Observera att medan en DataReader är öppen används anslutningen exklusivt av den DataReader. Du kan inte utföra några kommandon för anslutningen, inklusive att skapa en annan DataReader, förrän den ursprungliga DataReader är stängd.
Uppdaterad 2018 :länk till MSDN