private void buttonOk_Click(object sender, EventArgs e) { int err = 0, i = -1; DbConnection conn = DbSources.Sources().GetConnection(m_idListener, out err); for (i = 0; i < m_list_data /*_original*/.Length; i++) { DbTSQLInterface.RecUpdateInsertDelete(ref conn, FormChangeMode.getPrefixMode(i) + "_LIST", @"ID", m_list_data_original[i], m_list_data[i], out err); } buttonClick(DialogResult.Yes); }
/// <summary> /// Возвратить объект-таблицу со значениями из таблицы с временными для расчета /// </summary> /// <param name="type">Тип значений (входные, выходные)</param> /// <param name="err">Признак выполнения функции</param> /// <returns>Объект-таблица</returns> public DataTable GetValuesVar(TaskCalculate.TYPE type , out int err) { DataTable tableRes = new DataTable(); err = -1; tableRes = DbTSQLInterface.Select(ref _dbConnection , GetQueryValuesVar(type) , null, null , out err); return(tableRes); }
/// <summary> /// /// </summary> /// <param name="tableOrigin">первоначальная таблица</param> /// <param name="tableRes">измененная таблица</param> /// <param name="timezone">индентификатор таймзоны</param> /// <param name="err">номер ошибки</param> /// <returns>таблица данных</returns> public DataTable SaveValues(DataTable tableOrigin, DataTable tableRes, int timezone, out int err) { err = -1; DataTable tableEdit = new DataTable(); DateTime dtRes; string rowSel = null; int idUser = 0 , idSource = 0; tableEdit = tableOrigin.Clone();//копия структуры for (int i = 0; i < tableRes.Rows.Count; i++) { rowSel = tableRes.Rows[i]["ID_PUT"].ToString(); //dtRes = Convert.ToDateTime(tableRes.Rows[i]["WR_DATETIME"]); //for (int j = 0; j < tableOrigin.Rows.Count; j++) // if (rowSel == tableOrigin.Rows[j]["ID_PUT"].ToString()) // if (dtRes == Convert.ToDateTime(tableOrigin.Rows[j]["DATE_TIME"])) // if (tableOrigin.Rows[j]["Value"].ToString() == tableRes.Rows[i]["VALUE"].ToString()) // { // idUser = (int)tableOrigin.Rows[j]["ID_USER"]; // idSource = (int)tableOrigin.Rows[j]["ID_SOURCE"]; // break; // } // else // { idUser = HUsers.Id; idSource = 0; // } tableEdit.Rows.Add(new object[] { DbTSQLInterface.GetIdNext(tableEdit, out err) , rowSel , idUser.ToString() , idSource.ToString() , Convert.ToDateTime(tableRes.Rows[i]["WR_DATETIME"].ToString()).AddHours(27).ToString(CultureInfo.InvariantCulture) , ID_PERIOD.DAY , timezone , tableRes.Rows[i]["QUALITY"].ToString() , tableRes.Rows[i]["VALUE"].ToString() , DateTime.Now }); } return(tableEdit); }
/// <summary> /// Обновить(прочитать) значения параметров профиля, список параметров /// </summary> /// <param name="iListenerId">Идентификатор подписчика объекта обращения к данным</param> /// <param name="id_role">Идентификатор группы(роли) пользователей</param> /// <param name="id_user">Идентификатор пользователя</param> /// <param name="bThrow">Признак инициирования исключения при ошибке</param> public void Read(int iListenerId, int id_role, int id_user, bool bThrow) { int err = -1; string query = string.Empty , errMsg = string.Empty; DbConnection dbConn = DbSources.Sources().GetConnection(iListenerId, out err); if (!(err == 0)) { errMsg = @"нет соединения с БД"; } else { m_tblValues = getDataTableUserValues(ref dbConn, id_role, id_user, out err); if (!(err == 0)) { errMsg = @"Ошибка при чтении НАСТРоек для группы(роли) (irole = " + id_role + @"), пользователя (iuser="******")"; } else { query = $@"SELECT * from {s_nameTableProfilesUnit}"; m_tblTypes = DbTSQLInterface.Select(ref dbConn, query, null, null, out err); if (!(err == 0)) { errMsg = @"Ошибка при чтении ТИПов ДАНных настроек для группы(роли) (irole = " + id_role + @"), пользователя (iuser="******")"; } else { ; } } } if ( (!(err == 0)) && (bThrow == true) ) { throw new Exception($"HProfiles::HProfiles () - {errMsg}..."); } else { ; } }
/// <summary> /// Функция запроса для поиска пользователя /// </summary> public static void GetUsers(ref DbConnection conn, string where, string orderby, out DataTable users, out int err) { err = 0; users = null; if (!(conn == null)) { users = new DataTable(); Logging.Logg().Debug(@"HUsers::GetUsers () - запрос для поиска пользователей = [" + getUsersRequest(where, orderby) + @"]", Logging.INDEX_MESSAGE.NOT_SET); users = DbTSQLInterface.Select(ref conn, getUsersRequest(where, orderby), null, null, out err); } else { err = -1; } }
/// <summary> /// Обработчик для получения следующего идентификатора /// </summary> /// <returns>Возвращает идентификатор</returns> private int GetNextID(object sender, TreeView_Users.GetIDEventArgs e) { int ID = 0; int err = 0; if (e.IdComp == (int)ID_Table.Role) { ID = DbTSQLInterface.GetIdNext(m_arr_UserRolesTable[(int)ID_Table.Role], out err); } if (e.IdComp == (int)ID_Table.User) { ID = DbTSQLInterface.GetIdNext(m_arr_UserRolesTable[(int)ID_Table.User], out err); } return(ID); }
/// <summary> /// Получить все (ТГ, ТСН) значения для станции /// </summary> /// <param name="tec">Станция, для которой необходимо получить значения</param> /// <param name="dbConn">Ссылка на объект соединения с БД-источником данных</param> /// <param name="dtStart">Дата - начало</param> /// <param name="dtEnd">Дата - окончание</param> /// <param name="indx">Индекс группы сигналов</param> /// <returns>Результат выполнения - признак ошибки (0 - успех)</returns> public int Request(TEC_LOCAL tec,ref DbConnection dbConn,DateTime dtStart,DateTime dtEnd,TEC_LOCAL.INDEX_DATA indx) { int iRes = 0 ,err = -1; string query = string.Empty; DateTime dtQuery; TimeSpan tsQuery; dtQuery = DateTime.Now; tec.m_arTableResult[(int)indx] = null; query = getQuery(tec,indx,dtStart,dtEnd); if (query.Equals(string.Empty) == false) { tec.m_arTableResult[(int)indx] = new TEC_LOCAL.TableResult(DbTSQLInterface.Select(ref dbConn,query,null,null,out err)); tsQuery = DateTime.Now - dtQuery; Logging.Logg().Action(string.Format(@"TEC.ID={0}, ИНДЕКС={1}, время={4}{2}запрос={3} сек" ,tec.m_Id,indx.ToString(),Environment.NewLine,query,tsQuery.TotalSeconds) ,Logging.INDEX_MESSAGE.NOT_SET); if (err == 0) { tec.parseTableResult(dtStart,dtEnd,indx,out err); } else { Logging.Logg().Error(string.Format("TEC.ID={0}, ИНДЕКС={1} не получены данные за {2}{3}Запрос={4}" ,tec.m_Id,indx.ToString(),dtEnd,Environment.NewLine,query) ,Logging.INDEX_MESSAGE.NOT_SET); iRes = -1; } } else { Logging.Logg().Error(string.Format("TEC.ID={0}, группа ИНДЕКС={1} пропущена, не сформирован запрос за {2}" ,tec.m_Id,indx.ToString(),dtStart,Environment.NewLine,query) ,Logging.INDEX_MESSAGE.NOT_SET); iRes = 1; // Предупреждение } return(iRes); }
/// <summary> /// Удалить запись о параметрах сессии расчета (по триггеру - все входные и выходные значения) /// </summary> /// <param name="idSession">Идентификатор сессии расчета</param> /// <param name="err">Идентификатор ошибки при выполнеинии функции</param> public void DeleteSession(out int err) { err = -1; int iRegDbConn = -1; // признак регистрации соединения с БД string strQuery = string.Empty; if (_Session.m_Id > 0) { RegisterDbConnection(out iRegDbConn); if (!(iRegDbConn < 0)) { strQuery = @"DELETE FROM [dbo].[" + HandlerDbTaskCalculate.s_NameDbTables[(int)INDEX_DBTABLE_NAME.SESSION] + @"]" + @" WHERE [ID_CALCULATE]=" + _Session.m_Id; DbTSQLInterface.ExecNonQuery(ref _dbConnection, strQuery, null, null, out err); if (err == 0) { _Session.m_Id = -1; } else { ; } } else { ; } if (!(iRegDbConn > 0)) { UnRegisterDbConnection(); } else { ; } } else { ; } }
public string TestRead() { int err = -1; DataTable dataTest; //dataTest = DbTSQLInterface.Select(m_MySQLConnections[(int)CONN_SETT_TYPE.PPBR], "SELECT page FROM settings", null, null, out err); dataTest = DbTSQLInterface.Select(ref m_connection, "SELECT page FROM settings", null, null, out err); if (err == 0) { return(dataTest.Rows[0][0].ToString()); } else { return(string.Empty); } }
public override bool ReadFromDatabase(DateTime DT) { bool bRes = true; int err = -1 /*, i = -1*/; DataTable rec; //rec = DbTSQLInterface.Select(parent.m_MySQLConnections[(int)MySQLtechsite.CONN_SETT_TYPE.PPBR], "SELECT * FROM " + parent.m_strTableNamePPBR + " WHERE date_time = ?", new DbType[] { DbType.DateTime }, new object[] { DT }, out err); rec = DbTSQLInterface.Select(ref parent.m_connection, "SELECT * FROM " + parent.m_strTableNamePPBR + " WHERE date_time = @0", new DbType[] { DbType.DateTime }, new object[] { DT }, out err); if ((rec.Rows.Count == 1) && (err == 0)) { throw new NotImplementedException(); string prefix_comp = string.Empty; foreach (KeyValuePair <int, double?[]> pair in m_srtlist_ppbr) { //NotImplementedException //prefix_comp = parent.GetPrefixOfId(pair.Key, false); for (MySQLtechsite.Params par = 0; par < MySQLtechsite.Params.COUNT_PARAMS; par++) { pair.Value[(int)par] = Convert.ToDouble(rec.Rows[0][prefix_comp + @"_" + par.ToString()]); } } } else { bRes = false; if (rec.Rows.Count > 1) { //Вообще ошибка! 2-х строк за одну дату НЕ может быть } else { ; //err тоже при анализе следовало бы учитывать... } } return(bRes); }
/// <summary> /// Инициализация /// </summary> /// <param name="dbConn"></param> /// <param name="err"></param> /// <param name="errMsg"></param> protected override void initialize(ref DbConnection dbConn, out int err, out string errMsg) { err = 0; errMsg = string.Empty; DataGridView dgv = null; List <string> listNAlg; string strItem = string.Empty; m_tblOrigin = DbTSQLInterface.Select(ref dbConn, "SELECT * FROM [dbo].[ftable]", null, null, out err); if (err == 0) { m_tblEdit = m_tblOrigin.Copy(); m_zGraph_fTABLE.Set(m_tblEdit); dgv = Controls.Find(INDEX_CONTROL.DGV_NALG.ToString(), true)[0] as DataGridView; listNAlg = new List <string>(); if (dgv.RowCount > 0) { dgv.Rows.Clear(); } else { ; } //var distinctRows = (from DataRow r in m_tblOrigin.Rows select new { nalg = r["N_ALG"] }).Distinct(); foreach (DataRow r in m_tblEdit.Rows) { strItem = ((string)r[@"N_ALG"]).Trim(); if (listNAlg.Contains(strItem) == false) { listNAlg.Add(strItem); dgv.Rows.Add(strItem, string.Empty, r[@"ID"]); } else { ; } } } Logging.Logg().Debug(@"PluginTepPrjFTable::initialize () - усПех ...", Logging.INDEX_MESSAGE.NOT_SET); }
public static DataTable getListTEC(ref DbConnection connConfigDB, bool bIgnoreTECInUse, out int err) { string req = string.Empty; req = "SELECT * FROM TEC_LIST "; if (bIgnoreTECInUse == false) { req += "WHERE INUSE=1 "; } else { ; } if (bIgnoreTECInUse == true) { // условие еще не добавлено - добавляем req += @"WHERE "; } else if (bIgnoreTECInUse == false) { // условие уже добавлено req += @"AND "; } else { ; } if (!(HStatisticUsers.allTEC == 0)) { req += @"ID=" + HStatisticUsers.allTEC.ToString(); } else { //??? ограничение (временное) для ЛК req += @"ID>0" //+ @" AND NOT (ID>10)" ; } return(DbTSQLInterface.Select(ref connConfigDB, req, null, null, out err)); }
private string readString(string key, string valDef) { string strRes = valDef; int err = -1; DataTable table = null; table = DbTSQLInterface.Select(ref m_dbConn, @"SELECT * FROM [dbo].[setup] WHERE [KEY]='" + key + @"'", null, null, out err); if (table.Rows.Count == 1) { strRes = table.Rows [0][@"Value"].ToString().Trim(); } else { ; } return(strRes); }
/// <summary> /// Конструктор - дополнительный /// </summary> public TECComponent(TEC tec, DataRow rComp) : this(tec) { name_shr = rComp["NAME_SHR"].ToString(); //rComp["NAME_GNOVOS"] if (DbTSQLInterface.IsNameField(rComp, "NAME_FUTURE") == true) { this.name_future = rComp["NAME_FUTURE"].ToString(); } else { ; } m_id = Convert.ToInt32(rComp["ID"]); m_listMCentreId = getMCentreId(rComp); m_listMTermId = getMTermId(rComp); m_indx_col_export_pbr_excel = ((DbTSQLInterface.IsNameField(rComp, "INDX_COL_EXPORT_PBR_EXCEL") == true) && (!(rComp["INDX_COL_EXPORT_PBR_EXCEL"] is System.DBNull))) ? Convert.ToInt32(rComp["INDX_COL_EXPORT_PBR_EXCEL"]) : -1; // значение по умолчанию "-1" - не установлено if ((DbTSQLInterface.IsNameField(rComp, "INDX_COL_RDG_EXCEL") == true) && (!(rComp["INDX_COL_RDG_EXCEL"] is System.DBNull))) { m_indx_col_rdg_excel = Convert.ToInt32(rComp["INDX_COL_RDG_EXCEL"]); } else { ; } if ((DbTSQLInterface.IsNameField(rComp, "KoeffAlarmPcur") == true) && (!(rComp["KoeffAlarmPcur"] is System.DBNull))) { m_dcKoeffAlarmPcur = Convert.ToInt32(rComp["KoeffAlarmPcur"]); } else { ; } if ((DbTSQLInterface.IsNameField(rComp, @"KOM_UCHET") == true) && (!(rComp[@"KOM_UCHET"] is System.DBNull))) { m_bKomUchet = Convert.ToByte(rComp[@"KOM_UCHET"]) == 1 ? true : false; } else { m_bKomUchet = true; } }
/// <summary> /// Сохранить изменения /// </summary> /// <param name="tableOrigin">первичная таблица</param> /// <param name="tableRes">таблица результирующая</param> /// <param name="err">признак ошибки</param> public DataTable saveRes(DataTable tableOrigin, DataTable tableRes, out int err, DataGridView dgvRes) { err = -1; DataTable tableEdit = new DataTable(); string rowSel = null; Array namePut = Enum.GetValues(typeof(PanelTaskAutobookMonthValues.INDEX_GTP)); tableEdit = tableOrigin.Clone();//копия структуры if (tableRes != null) { foreach (DataGridViewRow r in dgvRes.Rows) { for (int i = 0; i < tableRes.Rows.Count; i++) { if (r.Cells[namePut.GetValue(i).ToString()].Value != null) { rowSel = tableRes.Rows[i][0].ToString(); tableEdit.Rows.Add(new object[] { DbTSQLInterface.GetIdNext(tableEdit, out err) , rowSel , HUsers.Id.ToString() , 0.ToString() , Convert.ToDateTime(r.Cells["DATE"].Value.ToString()).AddDays(1).ToString(CultureInfo.InvariantCulture) , ID_PERIOD.DAY , ID_TIMEZONE.NSK , 1.ToString() , r.Cells[namePut.GetValue(i).ToString()].Value.ToString() , DateTime.Now }); } } } } else { ; } return(tableEdit); }
protected override void initProp(ref DbConnection dbConn, out int err, out string errMsg) { base.initProp(ref dbConn, out err, out errMsg); if (err == 0) { m_tblEditPswd = DbTSQLInterface.Select(ref dbConn, @"SELECT * FROM passwords WHERE ID_ROLE=" + s_iIdSourceData, null, null, out err); initTablePswd(); m_dgvProp.Rows.Add(new object[] { s_strPswdPropName, string.Empty }); //DataGridViewTextBoxCell cell; //cell = new DataGridViewPasswordTextBoxCell(); //m_dgvProp.Rows[m_dgvProp.RowCount - 1].Cells[1] = new DataGridViewPasswordTextBoxCell(); //cell = m_dgvProp.Rows[m_dgvProp.RowCount - 1].Cells[1] as DataGridViewTextBoxCell; } else { } }
public static DataTable getListTEC(ref DbConnection connConfigDB, out int err) { string req = string.Empty; bool bIgnoreTECInUse = true; req = "SELECT * FROM TEC_LIST "; if (bIgnoreTECInUse == false) { req += "WHERE INUSE=1 "; } else { ; } if (!(HStatisticUsers.allTEC == 0)) { if (bIgnoreTECInUse == false) { req += @"AND "; } else { ; } if (bIgnoreTECInUse == true) { req += @"WHERE "; } else { ; } req += @"ID=" + HStatisticUsers.allTEC.ToString(); } else { ; } return(DbTSQLInterface.Select(ref connConfigDB, req, null, null, out err)); }
///// <summary> ///// Конструктор - дополнительный (с параметрами) ///// </summary> //public TG(DataRow row_tg, DataRow row_param_tg) // // передавать только строку из представления // : this (row_param_tg) //{ // //initTG(row_tg, row_param_tg); //} //private void initTG(DataRow row_tg, DataRow row_param_tg) //{ // #region Здесь столбцы из старой таблицы [LIST_TG] // // row_tg: NAME_SHR, NAME_FUTURE, ID, INDX_COL_RDG_EXCEL // // , теперь используется строки из представления [ALL_PARAM_TG] // // , к наименованиям полей добавлен префикс "_TG" // name_shr = row_param_tg ["NAME_SHR_TG"].ToString(); // if (DbTSQLInterface.IsNameField(row_param_tg, "NAME_FUTURE_TG") == true) name_future = row_param_tg ["NAME_FUTURE_TG"].ToString(); else ; // m_id = Convert.ToInt32(row_param_tg ["ID_TG"]); // if (!(row_param_tg ["INDX_COL_RDG_EXCEL_TG"] is System.DBNull)) // m_indx_col_rdg_excel = Convert.ToInt32(row_param_tg ["INDX_COL_RDG_EXCEL_TG"]); // else // ; // #endregion // #region Здесь столбцы из нового представления [ALL_PARAM_TG] // m_strKKS_NAME_TM = row_param_tg[@"KKS_NAME"].ToString(); // m_arIds_fact[(int)HDateTime.INTERVAL.MINUTES] = // //Int32.Parse(row_param_tg[@"ID_IN_ASKUE_3"].ToString()) // // ChrjapinAN, 26.12.2017 переход на составной ключ "OBJECT/ITEM" // new AISKUE_KEY () { IdObject = Int32.Parse (row_param_tg [@"PIRAMIDA_OBJECT"].ToString ()), IdItem = Int32.Parse (row_param_tg [@"PIRAMIDA_ITEM"].ToString ()) } // ; // m_arIds_fact[(int)HDateTime.INTERVAL.HOURS] = // //Int32.Parse(row_param_tg[@"ID_IN_ASKUE_30"].ToString()) // // ChrjapinAN, 26.12.2017 переход на составной ключ "OBJECT/ITEM" // new AISKUE_KEY () { IdObject = Int32.Parse (row_param_tg [@"PIRAMIDA_OBJECT"].ToString ()), IdItem = Int32.Parse (row_param_tg [@"PIRAMIDA_ITEM"].ToString ()) } // ; // #endregion //} /// <summary> /// Инициализировать значения полей свойств объекта из строки представления БД /// </summary> /// <param name="row_param_tg">Строка из набора - результата запроса к представлению БД [ALL_PARAM_TG]</param> private void initTG(DataRow row_param_tg) { // , теперь используется строки из представления [ALL_PARAM_TG] // , к наименованиям полей добавлен префикс "_TG" name_shr = row_param_tg ["NAME_SHR_TG"].ToString(); if (DbTSQLInterface.IsNameField(row_param_tg, "NAME_FUTURE_TG") == true) { name_future = row_param_tg ["NAME_FUTURE_TG"].ToString(); } else { ; } m_id = Convert.ToInt32(row_param_tg ["ID_TG"]); if (!(row_param_tg ["INDX_COL_RDG_EXCEL_TG"] is System.DBNull)) { m_indx_col_rdg_excel = Convert.ToInt32(row_param_tg ["INDX_COL_RDG_EXCEL_TG"]); } else { ; } m_SensorsString_SOTIASSO = row_param_tg [@"KKS_NAME"].ToString(); m_aiskue_keys [(int)HDateTime.INTERVAL.MINUTES] = //Int32.Parse(row_param_tg[@"ID_IN_ASKUE_3"].ToString()) // ChrjapinAN, 26.12.2017 переход на составной ключ "OBJECT/ITEM" new AISKUE_KEY() { IdObject = Int32.Parse(row_param_tg [@"PIRAMIDA_OBJECT"].ToString()), IdItem = Int32.Parse(row_param_tg [@"PIRAMIDA_ITEM"].ToString()) } ; m_SensorsStrings_ASKUE [(int)HDateTime.INTERVAL.MINUTES] = m_aiskue_keys [(int)HDateTime.INTERVAL.MINUTES].ToString(); m_aiskue_keys [(int)HDateTime.INTERVAL.HOURS] = //Int32.Parse(row_param_tg[@"ID_IN_ASKUE_30"].ToString()) // ChrjapinAN, 26.12.2017 переход на составной ключ "OBJECT/ITEM" new AISKUE_KEY() { IdObject = Int32.Parse(row_param_tg [@"PIRAMIDA_OBJECT"].ToString()), IdItem = Int32.Parse(row_param_tg [@"PIRAMIDA_ITEM"].ToString()) } ; m_SensorsStrings_ASKUE [(int)HDateTime.INTERVAL.HOURS] = m_aiskue_keys [(int)HDateTime.INTERVAL.HOURS].ToString(); }
protected override void recUpdateInsertDelete(ref DbConnection dbConn, out int err) { //!!!Шифрация паролей foreach (DataRow r in m_tblEditPswd.Rows) { r["HASH"] = Crypt.Crypting().Encrypt(r["HASH"].ToString().Trim(), Crypt.KEY); } DbTSQLInterface.RecUpdateInsertDelete(ref dbConn, @"passwords", @"ID_EXT, ID_ROLE", m_tblOriginPswd, m_tblEditPswd, out err); if (err == 0) { base.recUpdateInsertDelete(ref dbConn, out err); } else { throw new Exception(@"HPanelTepPrjSources::recUpdateInsertDelete () - err=" + err + @" ..."); } }
/// <summary> /// Возвратить следующий целочисленный идентификатор для добавляемой строки /// в таблице с параметрами в алгоритме расчета /// </summary> /// <returns>Целочисленный идентификатор</returns> protected override int getIdNextAlgoritm() { int iRes = -1 , err = -1 , min = -1, max = -1; string strNodeParentName = string.Empty; if ((ID_TASK)Int32.Parse(getIdNodePart(m_ctrlTreeView.SelectedNode.Name, ID_LEVEL.TASK)) == ID_TASK.TEP) { strNodeParentName = getIdNodePart(m_ctrlTreeView.SelectedNode.Name, (int)ID_LEVEL.N_ALG); if (strNodeParentName.Equals(@"norm") == true) { min = (int)ID_START_RECORD.ALG_NORMATIVE; max = (int)ID_START_RECORD.PUT; } else if (strNodeParentName.Equals(@"mkt") == true) { min = (int)ID_START_RECORD.ALG; max = (int)ID_START_RECORD.ALG_NORMATIVE; } else { throw new Exception(@"PanelPrjOutParameters::getIdNextAlgoritm () - неизвестный тип "); } iRes = DbTSQLInterface.GetIdNext(m_arTableEdit[(int)INDEX_PARAMETER.ALGORITM], out err, @"ID", min - 1, max - 1); if (iRes == 0) { iRes += (int)ID_START_RECORD.ALG; } else { ; } } else { iRes = base.getIdNextAlgoritm(); } return(iRes); }
/// <summary> /// Добавить функцию /// </summary> private void addRecNAlg() { int err = -1; int idNALG = DbTSQLInterface.GetIdNext(m_tblEdit, out err); m_tblEdit.Rows.Add(new object[] { idNALG, "func:1", 1, 0, 0, 1, "func:1" }); m_tblEdit.AcceptChanges(); updateDGVNalg(m_tblEdit); }
/// <summary> /// Добавить точку для функции /// </summary> /// <param name="nameAlg">имя функции</param> private void addRecNAlgPoint(string nameAlg) { int err = -1; int idNALG = DbTSQLInterface.GetIdNext(m_tblEdit, out err); m_tblEdit.Rows.Add(new object[] { idNALG, nameAlg, 1, 0, 0, 1, nameAlg }); m_tblEdit.AcceptChanges(); updateDGVNalg(m_tblEdit); }
/// <summary> /// Формирование таблицы для сохранения значений OUT /// </summary> /// <param name="tableOrigin">первичная таблица</param> /// <param name="tableRes">таблица с параметрами</param> /// <param name="err"></param> /// <returns>таблицу значений</returns> public DataTable saveResOut(DataTable tableOrigin, DataTable tableRes, out int err) { err = -1; DataTable tableEdit = new DataTable(); string rowSel = null; tableEdit = tableOrigin.Clone();//копия структуры if (tableRes != null) { //foreach (DataGridViewRow r in dgvRes.Rows) //{ for (int i = 0; i < tableRes.Rows.Count; i++) { //if (r.Cells[namePut.GetValue(i).ToString()].Value != null) //{ rowSel = tableRes.Rows[i]["ID_PUT"].ToString(); tableEdit.Rows.Add(new object[] { DbTSQLInterface.GetIdNext(tableEdit, out err) , rowSel , HUsers.Id.ToString() , 0.ToString() , Convert.ToDateTime(tableRes.Rows[i]["WR_DATETIME"].ToString()).AddDays(1).ToString(CultureInfo.InvariantCulture) , ID_PERIOD.DAY , ID_TIMEZONE.NSK , 1.ToString() , tableRes.Rows[i]["VALUE"] , DateTime.Now }); //} } //} } else { ; } return(tableEdit); }
/// <summary> /// Установить значение для параметра профиля /// , если параметр не определен - добавить в таблицу БД /// </summary> public static void SetAllowed(int iListenerId, int id, string val) { string query = string.Empty; int err = -1 , cntRows = -1; DbConnection dbConn = null; //Проверить наличие индивидуальной записи... cntRows = m_tblValues.Select (@"ID_UNIT=" + id).Length; switch (cntRows) { case 1: //Вставка записи... query = $@"INSERT INTO {s_nameTableProfilesData} ([ID_EXT],[IS_ROLE],[ID_UNIT],[VALUE]) VALUES ({Id}, 0, {id}, '{val}')"; break; case 2: //Обновление записи... query = $@"UPDATE {s_nameTableProfilesData} SET [VALUE]='{val}' WHERE ID_EXT={Id} AND IS_ROLE=0 AND ID_UNIT={id}"; break; default: //Ошибка - исключение throw new Exception ($@"HUsers.HProfiles::SetAllowed (id={id}) - не найдено ни одной записи..."); } dbConn = DbSources.Sources ().GetConnection (iListenerId, out err); if ((!(dbConn == null)) && (err == 0)) { DbTSQLInterface.ExecNonQuery (ref dbConn, query, null, null, out err); //Проверить результат сохранения... if (err == 0) {//Обновить таблицу пользовательских настроек... switch (cntRows) { case 1: //Вставка записи... m_tblValues.Rows.Add (new object [] { Id, 0, id, val }); break; case 2: //Обновление записи... DataRow [] rows = m_tblValues.Select ($@"ID_EXT={Id} AND IS_ROLE=0 AND ID_UNIT={id}"); rows [0] [@"VALUE"] = val; break; default: //Ошибка - исключение //Ошибка обработана - создано исключение... break; } } else ; } else ; }
/// <summary> /// Возвратить объект-таблицу со значениями из таблицы с сохраняемыми значениями из источников информации /// </summary> /// <param name="cntBasePeriod">Количество периодов расчета в интервале запрашиваемых данных</param> /// <param name="arQueryRanges">Массив диапазонов даты/времени - интервал(ы) заправшиваемых данных</param> /// <param name="err">Признак выполнения функции</param> /// <returns>Таблица со значенями</returns> public DataTable GetValuesVar(TaskCalculate.TYPE type , ID_PERIOD idPeriod , int cntBasePeriod , DateTimeRange[] arQueryRanges , out int err) { DataTable tableRes = new DataTable(); err = -1; tableRes = DbTSQLInterface.Select(ref _dbConnection , getQueryValuesVar(type , idPeriod , cntBasePeriod , arQueryRanges) , null, null , out err); return(tableRes); }
private int?GetIdNextRec(DateTime DT, out int er) { int?iRes = null; er = -1; string errMsg = string.Empty; DataTable data; //data = DbTSQLInterface.Select(m_MySQLConnections[(int)CONN_SETT_TYPE.PPBR], "SELECT id FROM PPBRvsPBRnew where date_time = ?", new DbType[] { DbType.DateTime }, new object[] { DT }, out er); data = DbTSQLInterface.Select(ref m_connection, "SELECT id FROM " + m_strTableNamePPBR + " where date_time = @0", new DbType[] { DbType.DateTime }, new object[] { DT }, out er); //data = DbTSQLInterface.Select(m_connection, "SELECT id FROM PPBRvsPBRnew where date_time = ?", new DbType[] { DbType.DateTime }, new object[] { DT }, out er); if (!(er == 0)) { errMsg = "Не получен идентификатор для новой записи в '" + m_strTableNamePPBR + "'"; itssAUX.PrintErrorMessage(errMsg); throw new Exception(errMsg); //Чтобы остановить дальнейшее выполнение } else { if (data.Rows.Count == 1) { iRes = (int?)data.Rows[0][0]; } else { if (data.Rows.Count > 1) { errMsg = "Не получен идентификатор для новой записи в '" + m_strTableNamePPBR + "'"; itssAUX.PrintErrorMessage(errMsg); throw new Exception(errMsg); //Чтобы остановить дальнейшее выполнение } else { ; //Нет строк вообще - нормально } } } return(iRes); }
protected override int StateRequest(int state) { int iRes = 0; string msg = string.Empty; switch (state) { case (int)StatesMachine.CurrentTime: if (!(IdGroupSignalsCurrent < 0)) { GetCurrentTimeRequest(DbTSQLInterface.getTypeDB(m_connSett.port),m_dictIdListeners[IdGroupSignalsCurrent][0]); } else { throw new Exception(@"HHandlerDbULoader::StateRequest (::CurrentTime) - ..."); } break; case (int)StatesMachine.Values: if (RowCountRecieved == -1) { RowCountRecieved = 0; } else { ; } msg = @"HHandlerDbULoaderSrc::StateRequest (::Values) - Query=" + Query; //Console.WriteLine (msg); //Logging.Logg().Debug(msg, Logging.INDEX_MESSAGE.NOT_SET); Request(m_dictIdListeners[IdGroupSignalsCurrent][0],Query); break; default: break; } return(iRes); }
/// <summary> /// Возвратить таблицу [ID_TSN_AISKUE_2017] из БД конфигурации /// </summary> /// <param name="iListenerId">Идентификатор подписчика для обращения к БД</param> /// <param name="err">Идентификатор ошибки при выполнении запроса</param> /// <returns>Таблица - с данными</returns> public static DataTable getListChannels(int iListenerId, out int err) { DataTable tableRes = new DataTable(); DbConnection connConfigDB; string req = string.Empty; connConfigDB = DbSources.Sources().GetConnection(iListenerId, out err); if (err == 0) { req = getQueryListChannels(); tableRes = DbTSQLInterface.Select(ref connConfigDB, req, null, null, out err); } else { } return(tableRes); }
public override void SaveParamKey(string column, string value) { int err = -1; int idListener = DbSources.Sources().Register(m_connSett, false, @"CONFIG_DB"); string query = string.Empty; m_dbConn = DbSources.Sources().GetConnection(idListener, out err); query += getWriteStringRequest(column, value, false) + @";"; if (query.Equals(string.Empty) == false) { DbTSQLInterface.ExecNonQuery(ref m_dbConn, query, null, null, out err); } else { ; } DbSources.Sources().UnRegister(idListener); }
/// <summary> /// Изменить идентификатор активного источника данных (СОТИАССО) /// </summary> /// <param name="ev">Параметры для изменения, например новый идентификатор источника данных</param> public void UpdateSourceId(PanelContainerTec.EventSourceIdChangedArgs ev) { int err = -1; RegisterConfigDb(out err); err = _connConfigDb == null ? -1 : 0; if (err == 0) { DbTSQLInterface.ExecNonQuery(ref _connConfigDb , string.Format("UPDATE [TEC_LIST] SET [ID_LINK_SOURCE_DATA_TM] = {0} WHERE [ID] = {1}", ev.m_iNewSourceId, ev.m_tec.m_id) , null, null, out err); } else { ; } UnregisterConfigDb(); }