Você precisa dizer aos seus objetos SQLCommand para usar a transação:
cmd1.Transaction = transaction;
ou no construtor:
SqlCommand cmd1 = new SqlCommand("select...", connectionsql, transaction);
Certifique-se de ter o objeto connectionsql aberto também.
Mas tudo o que você está fazendo são instruções SELECT. As transações se beneficiariam mais quando você usa ações do tipo INSERT, UPDATE, etc.