void QCondenserTypes_QCondenserTypesRowDeleted(object sender, DataSetQuery.QCondenserTypesRowChangeEvent e) { if (e.Action == DataRowAction.Delete) { if (!m_bAcceptChanges) { e.Row.RejectChanges(); } else { try { using (var cmdBuilder = new SQLiteCommandBuilder(this.qCondenserTypesTableAdapter.Adapter)) this.qCondenserTypesTableAdapter.Adapter.Update(this.dataSetQuery.QCondenserTypes); } catch (SQLiteException ex) { MyLocalizer.XtraMessageBoxShow("Ошибка при работе с базой данных. Описание: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (DBConcurrencyException ex) { MyLocalizer.XtraMessageBoxShow("В программе произошла ошибка. Описание: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
void QCondenserTypes_QCondenserTypesRowDeleting(object sender, DataSetQuery.QCondenserTypesRowChangeEvent e) { try { if (e.Action == DataRowAction.Delete) { if (MyLocalizer.XtraMessageBoxShow("Удалить запись?", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != DialogResult.Yes) { m_bAcceptChanges = false; return; } else { long id = Convert.ToInt64(e.Row["CondenserTypeID"]); SQLiteConnection connection = new SQLiteConnection(global::Condenser.Properties.Settings.Default.condenserConnectionString); connection.Open(); SQLiteCommand com = new SQLiteCommand(connection); com.CommandText = "Select COUNT(*) AS Cnt from Condensers AS c WHERE c.CondenserTypeID = ?"; com.CommandType = CommandType.Text; SQLiteParameter param1 = new SQLiteParameter("@Param1", DbType.Int64); param1.Value = id; com.Parameters.Add(param1); SQLiteDataReader dr = com.ExecuteReader(); while (dr.Read()) { if (Convert.ToInt64(dr["Cnt"]) > 0) { MyLocalizer.XtraMessageBoxShow("Существуют конденсаторы данного типа.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); m_bAcceptChanges = false; dr.Close(); connection.Close(); return; } } dr.Close(); com.CommandText = "Delete from ParameterRecommendations WHERE KoefID IN (SELECT KoefID FROM CondenserTypeParameters WHERE CondenserTypeID = ?)"; com.ExecuteNonQuery(); com.CommandText = "Delete from CondenserTypeParameters WHERE CondenserTypeID = ?"; com.ExecuteNonQuery(); m_bAcceptChanges = true; connection.Close(); } } } catch (SQLiteException ex) { MyLocalizer.XtraMessageBoxShow("Ошибка при работе с базой данных. Описание: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (DBConcurrencyException ex) { MyLocalizer.XtraMessageBoxShow("В программе произошла ошибка. Описание: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
void QCondenserTypes_QCondenserTypesRowChanged(object sender, DataSetQuery.QCondenserTypesRowChangeEvent e) { if (e.Action == DataRowAction.Add || e.Action == DataRowAction.Change) { if (m_bNeedCancel) { m_bNeedCancel = false; e.Row.RejectChanges(); return; } /*if (!m_bAcceptChanges) * e.Row.RejectChanges(); * else * {*/ try { if (e.Action == DataRowAction.Change && m_bUpdateID) { this.dataSetQuery.QCondenserTypes.AcceptChanges(); m_bUpdateID = false; return; } else { using (var cmdBuilder = new SQLiteCommandBuilder(this.qCondenserTypesTableAdapter.Adapter)) this.qCondenserTypesTableAdapter.Adapter.Update(this.dataSetQuery.QCondenserTypes); } if (e.Action == DataRowAction.Add) { SQLiteConnection connection = new SQLiteConnection(global::Condenser.Properties.Settings.Default.condenserConnectionString); connection.Open(); SQLiteCommand com = new SQLiteCommand(connection); com.CommandText = "select seq from sqlite_sequence where name = 'CondenserTypes'"; com.CommandType = CommandType.Text; SQLiteDataReader dr = com.ExecuteReader(); long id = 0; while (dr.Read()) { id = Convert.ToInt64(dr["seq"]); } dr.Close(); m_bUpdateID = true; ((DataRowView)(qCondenserTypesBindingSource.Current)).Row["CondenserTypeID"] = id; connection.Close(); } } catch (SQLiteException ex) { MyLocalizer.XtraMessageBoxShow("Ошибка при работе с базой данных. Описание: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (DBConcurrencyException ex) { MyLocalizer.XtraMessageBoxShow("В программе произошла ошибка. Описание: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } //} } }