public BeginTransaction ( System.Data.IsolationLevel iso ) : MySql.Data.MySqlClient.MySqlTransaction | ||
iso | System.Data.IsolationLevel | |
return | MySql.Data.MySqlClient.MySqlTransaction |
public new MySqlTransaction BeginTransaction(IsolationLevel iso)
{
//TODO: check note in help
if (State != ConnectionState.Open)
throw new InvalidOperationException(Resources.ConnectionNotOpen);
// First check to see if we are in a current transaction
if (driver.HasStatus(ServerStatusFlags.InTransaction))
throw new InvalidOperationException(Resources.NoNestedTransactions);
MySqlTransaction t = new MySqlTransaction(this, iso);
MySqlCommand cmd = new MySqlCommand("", this);
cmd.CommandText = "SET SESSION TRANSACTION ISOLATION LEVEL ";
switch (iso)
{
case IsolationLevel.ReadCommitted:
cmd.CommandText += "READ COMMITTED";
break;
case IsolationLevel.ReadUncommitted:
cmd.CommandText += "READ UNCOMMITTED";
break;
case IsolationLevel.RepeatableRead:
cmd.CommandText += "REPEATABLE READ";
break;
case IsolationLevel.Serializable:
cmd.CommandText += "SERIALIZABLE";
break;
case IsolationLevel.Chaos:
throw new NotSupportedException(Resources.ChaosNotSupported);
}
cmd.ExecuteNonQuery();
cmd.CommandText = "BEGIN";
cmd.ExecuteNonQuery();
return t;
}
MySqlConnection::BeginTransaction ( ) : MySql.Data.MySqlClient.MySqlTransaction |
public static bool SettingsSetPassword(string password) { using (MySqlConnection mySqlCon = new MySqlConnection(LiveDocs.backend.database.Database.ConnectionString)) { mySqlCon.Open(); using (MySqlTransaction mySqlTransaction = mySqlCon.BeginTransaction()) { using (MySqlCommand mySqlCommand = mySqlCon.CreateCommand()) { mySqlCommand.Transaction = mySqlTransaction; try { mySqlCommand.Parameters.AddWithValue("@password", password); mySqlCommand.Parameters.AddWithValue("@username", HttpContext.Current.Session["username"]); mySqlCommand.Parameters.AddWithValue("@token", HttpContext.Current.Session["token"]); mySqlCommand.CommandText = "UPDATE Users SET Password=Password(@password) WHERE UserName=@username AND LoginToken=@token"; mySqlCommand.ExecuteNonQuery(); mySqlTransaction.Commit(); } catch (Exception) { mySqlTransaction.Rollback(); return false; } } } } return true; }