/// <summary> /// Glavna metoda za INSERT, UPDATE, DELETE komande. /// </summary> /// <param name="upit"></param> /// <param name="parametri"></param> /// <returns></returns> public bool Izvrsi(string upit, Hashtable parametri) { bool uTransakciji; FbTransaction tran; if (Transaction == null) // ako nije u transakciji napravi novu transakciju { izuzeci.Clear(); tran = Connection.BeginTransaction(); uTransakciji = false; } else { tran = Transaction; uTransakciji = true; } try { using (FbCommand Command = new FbCommand(upit, Connection, tran)) { if (parametri != null) { NapuniParametre(Command, parametri); } Command.ExecuteNonQuery(); } if (!uTransakciji) { tran.Commit(); tran.Dispose(); } return(true); } catch (Exception ex) { izuzeci.Add(ex); Korisno.LogujGresku("Nije izvršen upit:\n" + upit, ex); if (!uTransakciji)// ako je u lokalnoj transakciji pokusaj da rollbackujes iz 3 puta { for (int pokusaj = 0; pokusaj < 3; pokusaj++) { try { tran.Rollback(); tran.Dispose(); } catch (Exception ex2) { izuzeci.Add(ex2); Korisno.LogujGresku("Nije uspeo rollback iz pokusaja " + (pokusaj + 1).ToString(), ex2); } System.Threading.Thread.Sleep(1000); // cekaj jednu sekundu pa pokusaj ponovo } } return(false); } }
/// <summary> /// Dispose ce da zatvori konekciju. /// </summary> public void Dispose() { try { ((MySqlConnection)DbConnection).Close(); } catch (Exception ex) { Korisno.LogError("Nisam uspeo da zatvorim konekciju.", ex); } }
/// <summary> /// Dispose ce da zatvori konekciju. /// </summary> public void Dispose() { try { Connection.Close(); } catch (Exception ex) { izuzeci.Add(ex); Korisno.LogujGresku("Nisam uspeo da zatvorim konekciju.", ex); } }
public override bool BeginTran() { try { Transaction = ((MySqlConnection)DbConnection).BeginTransaction(); return(true); } catch (Exception ex) { Korisno.LogError("Can't begin transaction.", ex); return(false); } }
public override bool BeginTran() { try { Transaction = Connection.BeginTransaction(System.Threading.Thread.CurrentThread.Name); return(true); } catch (Exception ex) { Korisno.LogError("Can't begin transaction.", ex); return(false); } }
public bool ZatvoriKonekciju() { try { Connection.Close(); return(true); } catch (Exception ex) { izuzeci.Add(ex); Korisno.LogujGresku("Ne mogu da zatvorim konekciju.", ex); return(false); } }
public override bool Execute(string query, Hashtable parameters) { try { MySqlCommand command = new MySqlCommand(query, (MySqlConnection)DbConnection, Transaction); FillParams(command, parameters); command.CommandType = System.Data.CommandType.Text; return(command.ExecuteNonQuery() > 0); } catch (Exception ex) { Korisno.LogError("Fail to execute SQL.", ex); //Common.EventLogger.WriteEventError("Fail to execute SQL.", ex); // Comment this after approving class. m_LastException = ex; return(false); } }
override public bool Close() { if (DbConnection.State != ConnectionState.Closed) { try { DbConnection.Close(); return(true); } catch (Exception ex) { Korisno.LogError("Can't close connection.", ex); return(false); } } else { return(true); } }
/// <summary> /// Otvara konekciju ka Firebird bazi. /// </summary> /// <returns>Vraca true ako je otvaranje uspesno.</returns> override public bool Open() { if (DbConnection.State != ConnectionState.Open) { try { DbConnection.Open(); return(true); } catch (Exception ex) { Korisno.LogError("Can't open connection.", ex); return(false); } } else { return(true); } }
public void OtvoriPonovoKonekciju() { Transaction = null; try { Connection.Close(); } catch (Exception ex) { Korisno.LogujGresku("Nisam uspeo da zatvorim konekciju.", ex); } try { Connection.Open(); } catch (Exception ex) { Korisno.LogujGresku("Nisam uspeo da otvorim konekciju.", ex); Connection = new FbConnection(Properties.Settings.Default.PolovniAutomobiliConnectionString); } }
public override bool CommitTran() { if (Transaction != null) { try { Transaction.Commit(); Transaction.Dispose(); Transaction = null; return(true); } catch (Exception ex) { Korisno.LogError("Can't commit transaction.", ex); return(false); } } else { return(false); } }
override public bool RollbackTran() { try { if (Transaction != null) { Transaction.Rollback(); Transaction.Dispose(); Transaction = null; return(true); } else { return(false); } } catch (Exception ex) { Korisno.LogError("Nisam uspeo da rolbekujem transakciju.", ex); return(false); } }
public bool BeginTran() { izuzeci.Clear(); if (Transaction == null) { try { Transaction = Connection.BeginTransaction(System.Threading.Thread.CurrentThread.Name); return(true); } catch (Exception ex) { izuzeci.Add(ex); Korisno.LogujGresku("Nisam uspeo da otvorim transakciju.", ex); return(false); } } else { return(false); } }
public bool RollbackTran() { try { if (Transaction != null) { Transaction.Rollback(); Transaction.Dispose(); Transaction = null; return(true); } else { return(false); } } catch (Exception ex) { izuzeci.Add(ex); Korisno.LogujGresku("Nisam uspeo da rolbekujem transakciju.", ex); return(false); } }