//Получение Tag параметра из SysTabl public static string TagS(string file, string param) { string stSql = "SELECT SysTabl.ParamTag FROM SysTabl WHERE (SysTabl.ParamName='" + param + "')"; using (var rec = new DaoRec(file, stSql, RecordsetTypeEnum.dbOpenSnapshot, RecordsetOptionEnum.dbReadOnly)) return(rec.GetString("ParamTag")); }
//Получение Tag подпараметра из SysSubTabl public static string SubTagS(string file, string param, string subparam) { string stSql = "SELECT SysSubTabl.SubParamTag FROM SysTabl INNER JOIN SysSubTabl ON SysTabl.ParamId = SysSubTabl.ParamId " + " WHERE (SysTabl.ParamName='" + param + "') AND (SysSubTabl.SubParamName='" + subparam + "')"; using (var rec = new DaoRec(file, stSql, RecordsetTypeEnum.dbOpenSnapshot, RecordsetOptionEnum.dbReadOnly)) return(rec.GetString("SubParamTag")); }
//То же самое, но база данных не задается public void SaveDicToTable <T>(DicS <T> dic, string tabl, string keyField = "Code", string keyField2 = "", string delField = "Del") where T : ISaveToRecDao { var old = new SetS(); var add = new SetS(); using (var rec = new DaoRec(this, tabl, RecordsetTypeEnum.dbOpenTable)) while (rec.Read()) { var code = rec.GetString(keyField); if (!keyField2.IsEmpty()) { code += "." + rec.GetString(keyField2); } if (dic.ContainsKey(code)) { old.Add(code); } else { rec.Put(delField, true); } } Execute("DELETE * FROM " + tabl + " WHERE " + delField + "=True"); foreach (var ap in dic.Keys) { if (!old.Contains(ap)) { add.Add(ap); } } using (var rec = new DaoRec(this, tabl, RecordsetTypeEnum.dbOpenTable)) { while (rec.Read()) { dic[rec.GetString(keyField) + (keyField2.IsEmpty() ? "" : ("." + rec.GetString(keyField2)))].ToRecordset(rec, false); } foreach (var p in add.Keys) { dic[p].ToRecordset(rec, true); } } }
//Получение строкового значения параметра из SysTabl public string Value(string param) { _tabl.FindFirst("ParamName", param); return(_tabl.GetString("ParamValue")); }
//Получение значения подпараметра из SysSubTabl public string SubValue(string param, string subparam) { _sub.FindFirst("(ParamName='" + param + "') And (SubParamName='" + subparam + "')"); return(_sub.GetString("SubParamValue")); }