public virtual void SetUp() { string cs = this.BuildConnectionString(); CreateDatabase(cs); CreateTables(cs); InsertTestData(cs); CreateProcedures(cs); CreateTriggers(cs); this.connection = new FbConnection(cs); this.connection.Open(); if (this.withTransaction) { this.transaction = this.connection.BeginTransaction(); } }
public void Commit(Enlistment enlistment) { if (_transaction != null && !_transaction.IsCompleted) { _transaction.Commit(); _transaction = null; Completed?.Invoke(this, new EventArgs()); if (_connection != null) { if (!_connection.Options.Pooling && (_connection.OwningConnection == null || _connection.OwningConnection.IsClosed)) { _connection.Disconnect(); } } _connection = null; _systemTransaction = null; // Declare done on the enlistment enlistment.Done(); } }
public void InvalidParameterFormat() { string sql = "update test set timestamp_field = @timestamp where int_field = @integer"; FbTransaction transaction = Connection.BeginTransaction(); try { FbCommand command = new FbCommand(sql, Connection, transaction); command.Parameters.Add("@timestamp", FbDbType.TimeStamp).Value = 1; command.Parameters.Add("@integer", FbDbType.Integer).Value = 1; command.ExecuteNonQuery(); command.Dispose(); transaction.Commit(); } catch { transaction.Rollback(); } }
public bool runQuery(string query, bool showException) { myTransaction = myConnection.BeginTransaction(); FbCommand command = new FbCommand(query, myConnection); command.CommandType = CommandType.Text; command.Transaction = myTransaction; try { command.ExecuteScalar(); } catch (Exception ex) { // exception, query did not run if (Program.debug && showException) { Console.Out.WriteLine(ex.ToString()); } myTransaction.Commit(); command.Dispose(); return(false); } myTransaction.Commit(); command.Dispose(); return(true); }
public int[] runQueryInt(string query, bool dataReturned) { List <int> Lint = new List <int>(); openConnection(); myTransaction = myConnection.BeginTransaction(); FbCommand command = new FbCommand(query, myConnection); command.CommandType = CommandType.TableDirect; command.Transaction = myTransaction; using (IDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Lint.Add((int)reader.GetInt16(0)); } } myTransaction.Commit(); command.Dispose(); closeConnection(); // clean up the query result array because the FetchSize // returns more than the actual number of rows with useful data return(Lint.ToArray()); }
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); } }
public void Update(FbTransaction trans = null) { string sql = $" update TB_CALIBRATOR_ROW set channel={Channel}, " + $" raw_a={RawA}, raw_b={RawB}, raw_c={RawC}, " + $" diff_a={DiffA}, diff_b={DiffB}, diff_c={DiffC}, " + $" where pk_recno={RecNo} "; SetTrans(trans); try { BeginTrans(trans); command.CommandText = sql; command.ExecuteNonQuery(); CommitTrans(trans); } catch (Exception e) { Resource.TLog.Log((int)ELogItem.Error, sql); RollbackTrans(trans, e); } }
public async Task <FbTransaction> BeginTransactionAsync(FbTransactionOptions options, string transactionName, CancellationToken cancellationToken = default) { EnsureActiveTransaction(); try { _activeTransaction = new FbTransaction(_owningConnection, IsolationLevel.Unspecified); await _activeTransaction.BeginTransactionAsync(options, cancellationToken).ConfigureAwait(false); if (transactionName != null) { _activeTransaction.Save(transactionName); } } catch (IscException ex) { await DisposeTransactionAsync(cancellationToken).ConfigureAwait(false); throw FbException.Create(ex); } return(_activeTransaction); }
public IEnumerable <Group> ReadGroups(int term) { if (Open()) { using (FbTransaction dbtran = conn.BeginTransaction()) { using (FbCommand selectCommand = new FbCommand()) { selectCommand.CommandText = "select id_group, name_of_group, term, id_department, name_of_department, id_faculty, name_of_faculty from (groups join departments using(id_department) join faculty using (id_faculty)) where term = @Term order by name_of_group"; selectCommand.Connection = conn; selectCommand.Transaction = dbtran; selectCommand.Parameters.AddWithValue("@Term", term); FbDataReader reader = selectCommand.ExecuteReader(); while (reader.Read()) { yield return(new Group { CodeOfGroup = reader.GetInt32(0), NameOfGroup = reader.GetString(1), Term = reader.GetInt32(2), Department = new Department { CodeOfDepartment = reader.GetInt32(3), NameOfDepartment = reader.GetString(4), Faculty = new Faculty { CodeOfFaculty = reader.GetInt32(5), NameOfFaculty = reader.GetString(6) } }, }); } } dbtran.Commit(); } } }
public static short SetParamValues(string connectionString, short?placeId, int paramId, short datatypeId, string value) { using (FbConnection connection = new FbConnection(connectionString)) { connection.Open(); short result = -1; string connStr = Properties.Resources.SetParamValues; using (FbCommand command = new FbCommand(connStr, connection)) { FbTransaction transaction = connection.BeginTransaction(); command.Transaction = transaction; command.ExecuteNonQuery(); transaction.Commit(); } connStr = string.Format("SELECT * FROM SETPARAMVALUES({0}, {1}, {2}, '{3}')", (placeId.HasValue) ? placeId.ToString() : "NULL", paramId, datatypeId, value); using (FbCommand command = new FbCommand(connStr, connection)) { FbTransaction transaction = connection.BeginTransaction(); command.Transaction = transaction; result = (short)command.ExecuteScalar(); transaction.Commit(); } connStr = "DROP PROCEDURE SETPARAMVALUES;"; using (FbCommand command = new FbCommand(connStr, connection)) { FbTransaction transaction = connection.BeginTransaction(); command.Transaction = transaction; command.ExecuteNonQuery(); transaction.Commit(); } return(result); } }
//============================================================================ /// <summary> /// Adds the value record to the AttrValues table for this timestep. /// </summary> /// <param name="RunID">Simulation run id.</param> /// <param name="eventTime">Record event time.</param> /// <param name="data">Byte array containing the TTypedValue data.</param> /// <param name="line">The values as a text string. Only used for DEBUG_WITH_STRINGS</param> //============================================================================ public override void AddAttrValueRecord(int RunID, DateTime eventTime, Byte[] data, String line) { // This operation should be as fast as possible. try { FbDataAdapter valueDA = new FbDataAdapter(); FbTransaction txn = fbConn.BeginTransaction(); valueDA.MissingSchemaAction = MissingSchemaAction.AddWithKey; #if DEBUG_WITH_STRINGS valueDA.InsertCommand = new FbCommand("INSERT INTO AttrValues (run_id, event_time, string_val) " + "VALUES (?, ?, ?)"); #else valueDA.InsertCommand = new FbCommand("INSERT INTO AttrValues (run_id, event_time, string_val) " + "VALUES (?, ?, ?)"); #endif valueDA.InsertCommand.Parameters.Add("@runid", FbDbType.Integer, 4, "run_id").Value = RunID; valueDA.InsertCommand.Parameters.Add("@eventtime", FbDbType.Date, 8, "event_time").Value = eventTime; #if DEBUG_WITH_STRINGS valueDA.InsertCommand.Parameters.Add("@stringval", FbDbType.VarChar, line.Length, "string_val").Value = line; #else valueDA.InsertCommand.Parameters.Add("@blobval", FbDbType.Binary, data.Length, "blob_val").Value = data; #endif //now write the values valueDA.InsertCommand.Connection = fbConn; valueDA.InsertCommand.Transaction = txn; openConnection(); valueDA.InsertCommand.ExecuteNonQuery(); txn.Commit(); } catch (Exception excep) { throw (new ApplicationException(excep.Message)); } }
public void reQry(DataTable dataTable, FbCommand fbCommand) { Program.MF.startSW(); int nor = 0; Cursor.Current = Cursors.WaitCursor; FbConnection c = new FbConnection(Properties.Settings.Default.ConnectionString); c.Open(); FbTransaction trans = c.BeginTransaction(); try { fbCommand.CommandType = CommandType.Text; fbCommand.Connection = c; fbCommand.Transaction = trans; FbDataAdapter fbDataAdapter = new FbDataAdapter(); fbDataAdapter.SelectCommand = fbCommand; nor = fbDataAdapter.Fill(dataTable); trans.Commit(); fbCommand.Parameters["@LM_TS"].Value = (DateTime)Program.MF.mainQueriesTableAdapter.GET_SERVERTIME(); //Program.MF.Text = nor.ToString() + " reread " + fbCommand.Parameters["@LM_TS"].Value.ToString() + " " + fbCommand.CommandText; } catch { trans.Rollback(); } finally { c.Close(); Cursor.Current = Cursors.Default; Program.MF.stopSW("Query", nor); } }
public int insertarDetalleMovArticulo(int idMovArt, Item articulo) { try { int id = 0; open(); String sqlQuery = "select next value for GEN_NUM_DET_MOV_ARTICULOS from RDB$DATABASE"; FbCommand sqlCommand = new FbCommand(sqlQuery, connection); FbDataReader idReader = sqlCommand.ExecuteReader(); while (idReader.Read()) { id = idReader.GetInt32(0); } idReader.Close(); FbTransaction insertTransaction = connection.BeginTransaction(); FbCommand insertCommand = new FbCommand(); insertCommand.CommandText = "insert into DET_MOV_ARTICULOS (NUMERO,NROINT,ARTICU,CANTID,CTRCOM,TRANID,STKFIS) values" + " (" + id + "," + idMovArt + ",'" + articulo.codigoArticulo + "'," + articulo.cantidad + "," + id + "," + 0 + "," + 0 + ")"; insertCommand.Connection = connection; insertCommand.Transaction = insertTransaction; insertCommand.ExecuteNonQuery(); insertTransaction.Commit(); insertCommand.Dispose(); close(); return(id); } catch (Exception e) { return(0); throw new Exception(e.Message.ToString()); } }
public void Update(Car car) { if (db.State != ConnectionState.Open) { db.Open(); } using (FbTransaction trn = db.BeginTransaction()) { FbCommand command = new FbCommand("UPDATE_CAR_PROCEDURE", db, trn); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@VIN", FbDbType.VarChar).Value = car.CarVIN; command.Parameters.Add("@STATE_NUMBER", FbDbType.VarChar).Value = car.Number; command.Parameters.Add("@REG_CERTIFICATE", FbDbType.VarChar).Value = car.RegCertific; command.Parameters.Add("@CAR_MARK", FbDbType.VarChar).Value = car.Mark; command.Parameters.Add("@CAR_MODEL", FbDbType.VarChar).Value = car.Model; if (car.Owner != null) { command.Parameters.Add("@CLIENT_ID", FbDbType.SmallInt).Value = car.Owner.IdCompany; } else { command.Parameters.Add("@CLIENT_ID", FbDbType.SmallInt).Value = DBNull.Value; } try { command.ExecuteNonQuery(); trn.Commit(); } catch (Exception ex) { db.Close(); throw ex; } db.Close(); return; } }
public void NextResultTest() { string querys = "select * from TEST order by INT_FIELD asc;" + "select * from TEST order by INT_FIELD desc;"; FbTransaction transaction = Connection.BeginTransaction(); FbCommand command = new FbCommand(querys, Connection, transaction); FbDataReader reader = command.ExecuteReader(); while (reader.Read()) { for (int i = 0; i < reader.FieldCount; i++) { Console.Write(reader.GetValue(i) + "\t"); } Console.WriteLine(); } Console.WriteLine("==="); if (reader.NextResult()) { while (reader.Read()) { for (int i = 0; i < reader.FieldCount; i++) { Console.Write(reader.GetValue(i) + "\t"); } Console.WriteLine(); } } reader.Close(); transaction.Rollback(); command.Dispose(); }
public List <Sostzakaz> GetSostzakaz() { FbConnection connection = connect.connection; List <Sostzakaz> sostzakaz = new List <Sostzakaz>(); try { connection.Open(); FbTransaction transaction = connection.BeginTransaction(); FbCommand command = new FbCommand("SELECT * FROM SOSTZAKAZ", connection, transaction); FbDataReader reader = command.ExecuteReader(); while (reader.Read()) { Sostzakaz zakaz = new Sostzakaz() { }; zakaz.SOSTZAKAZID = reader.GetInt32(0); zakaz.SOSTZAKAZ = reader.GetString(1); zakaz.COLOR = reader.IsDBNull(2) ? (int?)null : reader.GetInt32(2); sostzakaz.Add(zakaz); } reader.Close(); connection.Close(); } catch (Exception ex) { logger.Error(ex.ToString()); connection.Close(); } return(sostzakaz); }
/// <summary> /// оновити статус завдання /// </summary> /// <param name="taskFields">перелік значень полів для оновлення</param> public void UpdateTaskManager(List <string> taskFields) { if (taskFields.Count != 4) { return; } DateTime dt1 = new DateTime(); dt1 = DateTime.Now; string connectionString = cs.ToString(); FbConnection connection = new FbConnection(connectionString); connection.Open(); string ins_str; ins_str = @"UPDATE TASKS SET COMMITMAKE=@COMMITMAKE, COMMITDATE=@COMMITDATE WHERE ID=@ID"; if (taskFields[3].Equals("0")) { ins_str = @"UPDATE TASKS SET COMMITMAKE=@COMMITMAKE, COMMITDATE = NULL WHERE ID=@ID"; } FbTransaction ins_tr = connection.BeginTransaction(); FbCommand ins_com = new FbCommand(ins_str, connection, ins_tr); ins_com.Parameters.Add(new FbParameter("@ID", taskFields[0])); ins_com.Parameters.Add(new FbParameter("@COMMITMAKE", taskFields[3])); ins_com.Parameters.Add(new FbParameter("@COMMITDATE", dt1.ToShortDateString())); try { ins_com.ExecuteNonQuery(); ins_tr.Commit(); } catch (Exception e) { ins_tr.Rollback(); } connection.Close(); }
public void BinaryBlobTest() { int id_value = GetId(); string selectText = "SELECT blob_field FROM TEST WHERE int_field = " + id_value.ToString(); string insertText = "INSERT INTO TEST (int_field, blob_field) values(@int_field, @blob_field)"; // Generate an array of temp data byte[] insert_values = new byte[100000 * 4]; RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); rng.GetBytes(insert_values); // Execute insert command FbTransaction transaction = Connection.BeginTransaction(); FbCommand insert = new FbCommand(insertText, Connection, transaction); insert.Parameters.Add("@int_field", FbDbType.Integer).Value = id_value; insert.Parameters.Add("@blob_field", FbDbType.Binary).Value = insert_values; insert.ExecuteNonQuery(); transaction.Commit(); // Check that inserted values are correct FbCommand select = new FbCommand(selectText, Connection); byte[] select_values = (byte[])select.ExecuteScalar(); for (int i = 0; i < insert_values.Length; i++) { if (insert_values[i] != select_values[i]) { throw new Exception("differences at index " + i.ToString()); } } }
public void GetValuesTest() { FbTransaction transaction = Connection.BeginTransaction(); FbCommand command = new FbCommand("select * from TEST", Connection, transaction); IDataReader reader = command.ExecuteReader(); while (reader.Read()) { object[] values = new object[reader.FieldCount]; reader.GetValues(values); for (int i = 0; i < values.Length; i++) { Console.Write(values[i] + "\t"); } Console.WriteLine(); } reader.Close(); transaction.Rollback(); command.Dispose(); }
///////////////////////////////////////////////////////////////////////////////////// private int exec_proc_ADD_COMMON(ref FbConnection Connection, ref FbTransaction Transaction, ref BattleResult_v2 BRv2) { FbCommand myCommand = new FbCommand(); myCommand.CommandText = "execute procedure ADD_COMMON (" + BRv2.ArenaUniqueID.ToString() + "," + BRv2.Common["arenaTypeID"].ToString() + "," + BRv2.Common["arenaCreateTime"].ToString() + "," + BRv2.Common["winnerTeam"].ToString() + "," + BRv2.Common["finishReason"].ToString() + "," + BRv2.Common["duration"].ToString(cultureUS) + "," + BRv2.Common["bonusType"].ToString() + "," + BRv2.Common["guiType"].ToString() + "," + BRv2.Common["vehLockMode"].ToString() + ")"; myCommand.Connection = Connection; myCommand.Transaction = Transaction; Int32 BATTLE_ID = (Int32)myCommand.ExecuteScalar(); myCommand.Dispose(); return(BATTLE_ID); }
private void updateExams() { user_exams.Clear(); if (fb.State == ConnectionState.Closed) { fb.Open(); } FbTransaction fbt = fb.BeginTransaction(); FbCommand SelectSQL = new FbCommand("SELECT id, course_id, exam_time FROM final_exams WHERE user_id = " + userid, fb); SelectSQL.Transaction = fbt; FbDataReader reader = SelectSQL.ExecuteReader(); while (reader.Read()) { user_exams.Rows.Add(int.Parse(reader[0].ToString()), int.Parse(reader[1].ToString()), reader[2].ToString()); } reader.Close(); SelectSQL.Dispose(); fbt.Commit(); fb.Close(); updateForm(); }
public FinalExamForm(int userid) { InitializeComponent(); user_exams.Columns.Add("id", typeof(int)); user_exams.Columns.Add("course_id", typeof(int)); user_exams.Columns.Add("exam_time", typeof(string)); this.userid = userid; fb.Open(); FbTransaction fbt = fb.BeginTransaction(); FbCommand SelectSQL = new FbCommand("SELECT * FROM users WHERE id = " + this.userid, fb); SelectSQL.Transaction = fbt; FbDataReader reader = SelectSQL.ExecuteReader(); reader.Read(); UserNameLabel.Text = reader[2].ToString() + " " + reader[1].ToString() + " " + reader[3].ToString(); reader.Close(); SelectSQL.Dispose(); fbt.Commit(); fb.Close(); }
private void CreateExamButton_Click(object sender, EventArgs e) { metroButton1.Select(); if (CourseComboBox.Text.Length < 1) { MessageBox.Show("Выберите курс!"); return; } string questions = get_questions(int.Parse(CourseComboBox.SelectedValue.ToString())); if (fb.State == ConnectionState.Closed) { fb.Open(); } FbTransaction fbt = fb.BeginTransaction(); FbCommand InsertSQL = new FbCommand("INSERT INTO final_exams VALUES (0, @USER_ID, @COURSE_ID, @QUESTIONS, @NOTHING, @NOTHING)", fb); InsertSQL.Parameters.Add("USER_ID", FbDbType.Integer).Value = userid; InsertSQL.Parameters.Add("COURSE_ID", FbDbType.Integer).Value = int.Parse(CourseComboBox.SelectedValue.ToString()); InsertSQL.Parameters.Add("NOTHING", FbDbType.Text).Value = ""; InsertSQL.Parameters.Add("QUESTIONS", FbDbType.Text).Value = questions; InsertSQL.Transaction = fbt; try { int res = InsertSQL.ExecuteNonQuery(); MessageBox.Show("Добавлено!"); fbt.Commit(); InsertSQL.Dispose(); fb.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } updateExams(); }
public void ComandoLoteScript(string SQL) { FbConnection connection = new FbConnection(connectionString); connectionString = BmsSoftware.ConfigSistema1.Default.ConexaoFB + txtLocalBancoDados.Text; try { connection.Open(); FbTransaction transaction = connection.BeginTransaction(); FbCommand command = new FbCommand(SQL, connection, transaction); command.CommandType = CommandType.Text; command.ExecuteScalar(); transaction.Commit(); connection.Close(); } catch (Exception) { if (connection != null) { if (connection.State != ConnectionState.Closed) { connection.Close(); } } MessageBox.Show("Não foi possível executar o Script!", BmsSoftware.ConfigSistema1.Default.NomeEmpresa, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } }
public static void SavePointList(Database database, List <PermitPoint> pointList) { string query = EntryControl.Resources.Doc.Permit.SetPermitPoint; using (FbConnection connection = new FbConnection(database.ConnectionString)) { FbCommand command = new FbCommand(query, connection); command.Parameters.AddWithValue("permit", 0); command.Parameters.AddWithValue("point", 0); command.Parameters.AddWithValue("isAllowed", 0); connection.Open(); FbTransaction transaction = connection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted); try { foreach (PermitPoint pp in pointList) { command.Parameters["permit"].Value = pp.Permit.Id; command.Parameters["point"].Value = pp.Point.Id; command.Parameters["isAllowed"].Value = (short)(pp.IsAllowed ? 1 : 0); command.ExecuteNonQuery(); } transaction.Commit(); connection.Close(); } catch (Exception) { transaction.Rollback(); connection.Close(); throw new Exception(EntryControl.Resources.Message.Error.SavingError); } } }
/// <summary> /// записати нове заавдання /// </summary> /// <param name="newTask">перелік значень полів</param> public void InsertTask(List <string> newTask) { if (newTask.Count != 8) { return; } DateTime dt1 = new DateTime(); dt1 = DateTime.Now; string newId = GenerateNewID(); string connectionString = cs.ToString(); FbConnection connection = new FbConnection(connectionString); connection.Open(); string ins_str; ins_str = @"INSERT INTO TASKS(ID, SUBJECT, SHORTDESCRIPTION, EXECUTORID, DEADLINE, MANAGERID, DATEINIT, PRIORITY, DATEDOC, NUMBERDOC) VALUES (@ID, @SUBJECT, @SHORTDESCRIPTION, @EXECUTORID, @DEADLINE, @MANAGERID, @DATEINIT, @PRIORITY, @DATEDOC, @NUMBERDOC)"; FbTransaction ins_tr = connection.BeginTransaction(); FbCommand ins_com = new FbCommand(ins_str, connection, ins_tr); ins_com.Parameters.Add(new FbParameter("@ID", newId)); ins_com.Parameters.Add(new FbParameter("@SUBJECT", newTask[0])); ins_com.Parameters.Add(new FbParameter("@SHORTDESCRIPTION", newTask[1])); ins_com.Parameters.Add(new FbParameter("@EXECUTORID", newTask[2])); ins_com.Parameters.Add(new FbParameter("@DEADLINE", newTask[3])); ins_com.Parameters.Add(new FbParameter("@MANAGERID", newTask[4])); ins_com.Parameters.Add(new FbParameter("@DATEINIT", dt1.ToShortDateString())); ins_com.Parameters.Add(new FbParameter("@PRIORITY", newTask[5])); ins_com.Parameters.Add(new FbParameter("@DATEDOC", newTask[6])); ins_com.Parameters.Add(new FbParameter("@NUMBERDOC", newTask[7])); ins_com.ExecuteNonQuery(); ins_tr.Commit(); connection.Close(); SaveSubject(newTask[0]); }
private FbTransaction GetTransaction(bool readable = true) { if (readable) { if (write_transaction != null) { // if(conn.) write_transaction.RollbackRetaining(); write_transaction.Dispose(); } var tro = new FbTransactionOptions() { TransactionBehavior = FbTransactionBehavior.Read | FbTransactionBehavior.ReadCommitted | FbTransactionBehavior.RecVersion }; read_transaction = conn.BeginTransaction(tro); return(read_transaction); } else { if (read_transaction != null) { read_transaction.CommitRetaining(); read_transaction.Dispose(); } var tro = new FbTransactionOptions() { TransactionBehavior = FbTransactionBehavior.NoWait | FbTransactionBehavior.ReadCommitted | FbTransactionBehavior.RecVersion }; write_transaction = conn.BeginTransaction(tro); return(write_transaction); } }
/// <summary> /// Добавляет запись с признаком уникальности обработанного файла /// </summary> /// <param name="taskName">Имя задачи</param> /// <param name="filePath">Путь к файлу</param> public static void CreateFileFingerprint(string taskName, string filePath) { string fileName = Path.GetFileName(filePath); FileInfo fileInfo = new FileInfo(filePath); string hash = Pbkdf2Cryptography.GetMD5Hash(File.ReadAllBytes(filePath)); string connStr = "INSERT INTO " + taskName + " (FILENAME, HASH, OPERATIONDATE, MODIFYDATE) " + string.Format("VALUES('{0}','{1}','{2}','{3}');", fileName, hash, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), fileInfo.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss")); using (FbConnection connection = new FbConnection(ConnectionString)) { connection.Open(); using (FbCommand command = new FbCommand(connStr, connection)) { using (FbTransaction transaction = connection.BeginTransaction()) { command.Transaction = transaction; command.ExecuteNonQuery(); transaction.Commit(); } } } }
public void FillMultipleTest() { FbTransaction transaction = this.Connection.BeginTransaction(); FbCommand command = new FbCommand("select * from TEST", Connection, transaction); FbDataAdapter adapter = new FbDataAdapter(command); adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; FbCommandBuilder builder = new FbCommandBuilder(adapter); DataSet ds1 = new DataSet(); DataSet ds2 = new DataSet(); adapter.Fill(ds1, "TEST"); adapter.Fill(ds2, "TEST"); Assert.AreEqual(100, ds1.Tables["TEST"].Rows.Count, "Incorrect row count (ds1)"); Assert.AreEqual(100, ds2.Tables["TEST"].Rows.Count, "Incorrect row count (ds2)"); adapter.Dispose(); builder.Dispose(); command.Dispose(); transaction.Commit(); }
public void EndTransaction() { try { // Comita a transação if (dbTransaction != null) { if (dbTransaction.Connection != null) { dbTransaction.Commit(); dbTransaction = null; } } } catch (Exception e) { this.RollbackTransaction(); throw e; } try { // Fecha a conexão if (dbCnn != null) { if (dbCnn.State != ConnectionState.Closed) { dbCnn.Close(); } } } catch (Exception e) { throw e; } }
/// <summary> /// Проверяет наличие дубликата файла /// </summary> /// <param name="taskName">Имя задачи</param> /// <param name="filePath">Путь к файлу</param> /// <returns></returns> public static bool CheckForDuplicate(string taskName, string filePath) { string fileName = Path.GetFileName(filePath); string hash = Pbkdf2Cryptography.GetMD5Hash(File.ReadAllBytes(filePath)); string connStr = @"SELECT 1 FROM " + taskName + @" WHERE FILENAME = '" + fileName + "' " + @"AND HASH = '" + hash + "'"; object result; using (FbConnection connection = new FbConnection(ConnectionString)) { connection.Open(); using (FbCommand command = new FbCommand(connStr, connection)) { using (FbTransaction transaction = connection.BeginTransaction()) { command.Transaction = transaction; result = command.ExecuteScalar(); transaction.Rollback(); } } } return(result != null); }