Tienes que decirle a tus objetos SQLCommand que usen la transacción:
cmd1.Transaction = transaction;
o en el constructor:
SqlCommand cmd1 = new SqlCommand("select...", connectionsql, transaction);
Asegúrese de tener abierto también el objeto connectionsql.
Pero todo lo que está haciendo son declaraciones SELECT. Las transacciones se beneficiarían más cuando usa acciones de tipo INSERTAR, ACTUALIZAR, etc.