SqlDatareader und Transaktionen mit einer connection

harlequinn

Grünschnabel
Hallo

ich wollte fragen wie das Umsetzen eines Isolationlvls mit RepeatableRead mit dem Datareader realisiert wird, da der Reader ja das connectionstring für sich beansprucht.
Meine derzeitige Lösung sieht so aus das ich extra ein 2tes Conn Objekt erschaffen muss und dieses dann der Transaktion zuordne.
Aber 2 Connections für eine lesende Datenbankoperation find ich übel.

Code:
      SqlConnection conn = new SqlConnection();
      conn.ConnectionString = con.ConnectionString;
      conn.Open();             
      con.Open();
      SqlTransaction tx = conn.BeginTransaction();
      SqlDataReader myReader = cmd.ExecuteReader();
      while(myReader.Read())
      {
        try
        {
          ar.Add(GetColumnValue(myReader, "name"));
        }
        catch(SystemException e)
        {
          Console.WriteLine(e.Message);
          tx.Rollback();
        }       
      }
      myReader.Close();
      tx.Commit();
      con.Close();

danke!
 
Zuletzt bearbeitet:
Hab meinen (Denk)Fehler mittlerweile selber gefunden. Hatte vergessen dem SqlCommand Objekt, welches dem Reader zugeordnet wird, das Transactionobjekt zu übergeben. thats all^^

und dafür ging wioeder ein ganzer Tag drauf...muh
 

Neue Beiträge

Zurück