7 Stimmen

Wie implementiert man die Rollback-Funktion?

Ich möchte eine C# Anwendung erstellen, in der einige Dateien in zwei verschiedenen Ordnern kopiert werden (die bereits ältere Versionen der Dateien enthalten) und auch SQL-Skripte ausgeführt werden. Während des gesamten Prozesses, falls eine Ausnahme auftritt, müssen alle Änderungen rückgängig gemacht werden.

Für SQL-Skripte kann eine Transaktion verwendet werden, aber wie kann der Dateikopierprozess mit Rollback implementiert werden?

0voto

Tanmay Nehete Punkte 2089

Versuchen Sie diesen Code

public bool updateusertable(string UserName, string Password, string Datum)
{
    bool bResult = false;
    SqlTransaction tx;
    try
    {
        tx = conn.Begintransaction();
        SqlCommand Ocmd = new SqlCommand();
        Sqlconnect = Cconnect.OpenSqlConnection();
        Ocmd.Connection = Sqlconnect;
        Ocmd.CommandType = CommandType.StoredProcedure;
        Ocmd.CommandText = "SP_User_login_Update";
        Ocmd.Parameters.Add("@UserName", SqlDbType.VarChar, 100).Value = UserName;
        Ocmd.Parameters.Add("@Password", SqlDbType.VarChar, 100).Value = Password;
        Ocmd.Parameters.Add("@lastlogin", SqlDbType.VarChar, 100).Value = Datum;
        int i = Ocmd.ExecuteNonQuery();
        if (i <= 1)
        {
            bResult = true;
            tx.Commit();
        }
        else
        {
            tx.Rollback();
        }
    }
    catch (Exception ex)
    {
        string msg = ex.Message.ToString();
        tx.Rollback();
    }
    finally
    {

    }
    return bResult;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X