Sie müssen Ihren SQLCommand-Objekten mitteilen, dass sie die Transaktion verwenden sollen:
cmd1.Transaction = transaction;
oder im Konstruktor:
SqlCommand cmd1 = new SqlCommand("select...", connectionsql, transaction);
Stellen Sie sicher, dass auch das Connectionsql-Objekt geöffnet ist.
Aber alles, was Sie tun, sind SELECT-Anweisungen. Transaktionen würden mehr profitieren, wenn Sie Aktionen vom Typ INSERT, UPDATE usw. verwenden.