/// <summary> /// Чтение значения настройки из таблицы настроек fbaParam. /// </summary> /// <param name="direction">Запрос к локальной или удаленнённой базе данных.</param> /// <param name="userID">>ИД пользователя</param> /// <param name="paramName">Имя параметра</param> /// <param name="checkGlobal">Глобальный или локальный параметр</param> /// <param name="paramType">Тип параметра</param> /// <param name="listParams">Массив параметров</param> /// <returns>Если загрузка успешная, то true</returns> public static bool Load(DirectionQuery direction, string userID, string paramName, bool checkGlobal, string paramType, out string[] listParams) { string globalSQL = ""; if (direction == DirectionQuery.Remote) { if (checkGlobal) { globalSQL = " AND Global = 1"; } else { globalSQL = " AND Global = 0 AND UserID = " + userID; } } string sql = "SELECT Value1, Value2, Value3, Value4, Value5, Value6 ,Value7, Value8, Value9 ,Value10 " + "FROM fbaParam WHERE Name = '" + paramName + "' AND Type = '" + paramType + "'" + globalSQL; System.Data.DataTable DT; listParams = new string[10]; if (!sys.SelectDT(direction, sql, out DT)) { return(false); } for (int i = 0; i < 10; i++) { listParams[i] = DT.Value(0, i); } return(true); }
/// <summary> /// Получить код для получения ID вставленной/изменённой записи. /// Postgre: ; RETURNING id; /// MSSQL: ; SELECT @@IDENTITY AS id; /// SQLite: ; SELECT last_insert_rowid() AS id; /// </summary> /// <param name="direction">Локальная или удалённая БД</param> /// <returns>Код SQL</returns> public static string GetInsertID(DirectionQuery direction) { if (direction == DirectionQuery.Local) { return(Var.conLite.GetInsertID()); } if (direction == DirectionQuery.Remote) { return(Var.con.GetInsertID()); } return(""); }
/// <summary> /// Чтение значения настройки из таблицы настроек fbaParam. /// </summary> /// <param name="direction">Запрос к локальной или удаленнённой базе данных.</param> /// <param name="userID">>ИД пользователя</param> /// <param name="paramName">Имя параметра</param> /// <param name="checkGlobal">Глобальный или локальный параметр</param> /// <param name="paramType">Тип параметра</param> /// <param name="param">Массив параметров</param> /// <returns>Если загрузка успешная, то true</returns> public static bool Load(DirectionQuery direction, string userID, string paramName, bool checkGlobal, string paramType, out string param) { string[] listParams; bool result = Load(direction, userID, paramName, checkGlobal, paramType, out listParams); param = listParams[0]; return(result); }
/// <summary> /// Запись значения настройки в таблицу настроек fbaParam. /// Настройки может быть глобальной (для всех пользователей одна с именем ParamName) и индивидуальная. /// Если индивидуальная, то имя ParamName повторяется для разных пользователей. /// Если в настройке сохраняются значения компронентов формы, то FormID указывать нужно, в противном случае FormID = "" /// </summary> /// <param name="direction">Запрос к локальной или удаленнённой базе данных.</param> /// <param name="userID">ИД пользователя</param> /// <param name="paramName">Имя параметра</param> /// <param name="checkGlobal">Глобальный или локальный параметр</param> /// <param name="param">Массив параметров</param> /// <param name="paramType"></param> /// <param name="formName">Имя формы</param> /// <param name="comment">Произвольный комментарий к параметру</param> /// <returns>Если запись успешная, то true</returns> public static bool Save(DirectionQuery direction, string userID, string paramName, bool checkGlobal, string param, string paramType, string formName, string comment) { var listParams = new string[1]; listParams[0] = param; return(Save(direction, userID, paramName, checkGlobal, listParams, paramType, formName, comment)); }
///Получить список таблиц из бызы. private void GetListTable(DirectionQuery direction) { string SQL = ""; switch (Var.con.serverTypeRemote) { case ServerType.Postgre: SQL = "select (TABLE_SCHEMA + '.' + TABLE_NAME) AS 'Table name' from INFORMATION_SCHEMA.TABLES order by 1"; break; case ServerType.SQLite: SQL = "select Name AS 'Table name' from sqlite_master where type = 'table'"; break; case ServerType.MSSQL: SQL = "select (TABLE_SCHEMA + '.' + TABLE_NAME) AS 'Table name' from INFORMATION_SCHEMA.TABLES order by 1"; break; } if (SQL == "") { return; } sys.RefreshGrid(direction, dgvTableList, SQL); dgvTableList.Columns[0].Width = 200; }
//////////////////////////////////////////////////////////////////////////// //--------------------------------- REVISIONS ------------------------------ // Date Name Tracking # Description // --------- ------------------- ------------- ---------------------- // 20JUN2009 James Shen Initial Creation //////////////////////////////////////////////////////////////////////////// /** * Default constructor. */ public GDirections() { _directionQuery = new DirectionQuery(); _mapDirection = new MapDirection(); }
///Показ таблицы. private void RefreshGridForm(DirectionQuery direction, FBA.GridFBA dg, FilterObj filter) { sys.RefreshGrid(direction, dg, filter, tbGridInformation); }
/// <summary> /// Запись значения настройки в таблицу настроек fbaParam. /// Настройки может быть глобальной (для всех пользователей одна с именем ParamName) и индивидуальная. /// Если индивидуальная, то имя ParamName повторяется для разных пользователей. /// Если в настройке сохраняются значения компронентов формы, то FormID указывать нужно, в противном случае FormID = "" /// </summary> /// <param name="direction">Запрос к локальной или удаленнённой базе данных.</param> /// <param name="userID">ИД пользователя</param> /// <param name="paramName">Имя параметра</param> /// <param name="checkGlobal">Глобальный или локальный параметр</param> /// <param name="listParams">Массив параметров</param> /// <param name="paramType"></param> /// <param name="formName">Имя формы</param> /// <param name="comment">Произвольный комментарий к параметру</param> /// <returns>Если запись успешная, то true</returns> public static bool Save(DirectionQuery direction, string userID, string paramName, bool checkGlobal, string[] listParams, string paramType, string formName, string comment) { string globalSQL = ""; string globalStr = ""; if (listParams.Length > 10) { sys.SM("Ошибка записи параметра. Количество одновременно записываемых параметров не может быть больше 10!"); return(false); } var paramValue = new string[10]; for (int i = 0; i < paramValue.Length; i++) { paramValue[i] = "NULL"; } for (int i = 0; i < listParams.Length; i++) { paramValue[i] = listParams[i]; } if (checkGlobal) { globalSQL = " AND Global = 1"; globalStr = "1"; } else { globalSQL = " AND Global = 0 AND UserID = " + userID; globalStr = "0"; } string sql = "SELECT ID FROM fbaParam WHERE Name = '" + paramName + "' AND Type = '" + paramType + "'" + globalSQL; string setName = sys.GetValue(direction, sql); string getFormID = ""; if (formName == "") { getFormID = "NULL"; } else { getFormID = " (SELECT ID FROM fbaProject WHERE Name = '" + formName + "')"; } if (setName == "") { sql = "INSERT INTO fbaParam (EntityID, Name, FormID, Global, Type, " + "Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8, Value9, Value10," + "Comment, DateCreate, UserID) VALUES (" + "9000," + "'" + paramName + "'," + getFormID + "," + globalStr + "," + "'" + paramType + "'," + "'" + paramValue[0].QueryQuote() + "'," + "'" + paramValue[1].QueryQuote() + "'," + "'" + paramValue[2].QueryQuote() + "'," + "'" + paramValue[3].QueryQuote() + "'," + "'" + paramValue[4].QueryQuote() + "'," + "'" + paramValue[5].QueryQuote() + "'," + "'" + paramValue[6].QueryQuote() + "'," + "'" + paramValue[7].QueryQuote() + "'," + "'" + paramValue[8].QueryQuote() + "'," + "'" + paramValue[9].QueryQuote() + "'," + "'" + comment + "'," + sys.DateTimeCurrent() + "," + userID + ")"; } else { sql = "UPDATE fbaParam SET " + "Name = '" + paramName + "'," + "FormID = " + getFormID + "," + "Global = " + globalStr + "," + "Type = '" + paramType + "'," + "DateChange = " + sys.DateTimeCurrent() + "," + "Value1 = '" + paramValue[0].QueryQuote() + "'," + "Value2 = '" + paramValue[1].QueryQuote() + "'," + "Value3 = '" + paramValue[2].QueryQuote() + "'," + "Value4 = '" + paramValue[3].QueryQuote() + "'," + "Value5 = '" + paramValue[4].QueryQuote() + "'," + "Value6 = '" + paramValue[5].QueryQuote() + "'," + "Value7 = '" + paramValue[6].QueryQuote() + "'," + "Value8 = '" + paramValue[7].QueryQuote() + "'," + "Value9 = '" + paramValue[8].QueryQuote() + "'," + "Value10 = '" + paramValue[9].QueryQuote() + "'," + "Comment = '" + comment + "'" + " WHERE Name = '" + paramName + "' AND Type = '" + paramType + "'" + globalSQL; } return(sys.Exec(direction, sql)); }