//Проверка соединения с файлом protected override void ConnectProvider() { if (!DaoDb.Check(DbFile, new[] { "NODES", "ABONENTS" })) { AddError("Недопустимая база данных системы Пролог"); } }
//Загрузить проект projectFile, compileDir - каталог для компиляции public string LoadProject(string projectFile) { StartAtom(Atom.LoadProject, true, projectFile); CountsToZero(); if (State == State.Closed) { AddError("Копилятор уже был закрыт"); } else { try { if (!DaoDb.Check(projectFile, new[] { "CalcParams", "CalcSubParams", "CalcParamsArchive", "Objects", "Signals", "SignalsInUse", "GraficsList", "GraficsValues" })) { AddError("Указан неправильный файл проекта", null, projectFile); } else { using (var db = new DaoDb(projectFile)) { using (var rec = new RecDao(db, "SELECT * FROM Providers WHERE (ProviderCode='HandInputSource') OR (ProviderCode='HandInputSqlSource')")) if (rec.HasRows()) { HandInputSource = rec.GetString("ProviderName"); } using (var sys = new SysTabl(db)) { _code = sys.SubValue("ProjectInfo", "Project"); _name = sys.SubValue("ProjectInfo", "ProjectName"); sys.PutSubValue("ProjectInfo", "HandInputSource", HandInputSource); //ab _objectsFile = sys.Value("ObjectsFile"); if (string.IsNullOrEmpty(_objectsFile)) { _objectsFile = projectFile; } if (_objectsFile != projectFile) { if (!DaoDb.Check(projectFile, new[] { "CalcParams", "CalcSubParams", "CalcParamsArchive", "Objects", "Signals", "SignalsInUse", "GraficsList", "GraficsValues" })) { AddError("В проекте указан неправильный файл списка объектов", null, projectFile); _objectsFile = projectFile; } } //\ab } } _projectFile = projectFile; } } catch (Exception ex) { AddError("Указан неправильный файл проекта", ex, projectFile); } } return(FinishAtom(State.Project, State.Empty, "Проект:" + _code + ", " + _name)); }
//Проверка соединения при ошибке public bool Check() { if (!DaoDb.Check(CloneFile, new[] { "Objects", "Signals", "MomentsValues" })) { Logger.AddError("Не найден или неправильный" + _cloneFileType, null, "", Context); return(IsConnected = false); } return(IsConnected = true); }
//Проверка соединения при ошибке public bool Check() { if (!DaoDb.Check(_db, new[] { "NODES", "ABONENTS" })) { Logger.AddError("Не найден или неправильный файл архива программы \"Пролог\"", null, "", Context); return(IsConnected = false); } return(IsConnected = true); }
public StateSaverAccess(string fileName) { //IEnumerable<string> tables = new[] { TableName }; IEnumerable <string> tables = new[] { MainTableName, SubTableName }; if (DaoDb.Check(fileName, tables)) { _daoDb = new DaoDb(fileName); } }
//Проверка соединения protected override void ConnectProvider() { if (!DaoDb.Check(CloneFile, "InfoTaskClone")) { AddError("Недопустимый файл клона", null, CloneFile); } if (SysTabl.ValueS(CloneFile, "CloneComplect") != SourceConnect.Complect) { AddError(CheckConnectionMessage = "Файл является клоном для другого, несовместимого источника"); } }
private void button4_Click(object sender, EventArgs e) { DateTime d = DateTime.Now; for (int i = 0; i < 100; i++) { //SqlDb.Connect("200.0.1.20", "CalcArchive", true, "sa", "1").Close(); DaoDb.Check(@"\\Ute02\ute\Проекты\CalcProjects\Курган\SmenVed.accdb"); //DaoDb.Check(@"d:\InfoTask\Debug\Constructor\Constructor.accdb "); } MessageBox.Show(DateTime.Now.Subtract(d).TotalSeconds.ToString()); }
//Чтение списка сигналов из клона private void PrepareForClone(string cloneFile) { try { AddEvent("Чтение свойств клона"); if (!DaoDb.Check(cloneFile, new[] { "Objects", "Signals", "MomentsValues" })) { AddError("Недопустимый файл клона"); } else { using (var db = new DaoDb(cloneFile)) { using (var sys = new SysTabl(db)) { if (_form != null) { _form.CalcName.Text = sys.Value("CloneDescription"); } _cloneInf = sys.Value("CloneInf"); RunSource(sys.SubValue("Source", "ProviderCode"), sys.SubValue("Source", "ProviderName"), sys.SubValue("Source", "ProviderInf")); } AddEvent("Чтение списка сигналов клона"); _source.ClearSignals(); int n = 0; using (var rec = new RecDao(db, "SELECT SignalId, FullCode, DataType, Inf FROM Signals WHERE ConstValue Is Null")) while (rec.Read()) { _source.AddSignal(rec.GetString("Inf"), rec.GetString("FullCode"), rec.GetString("DataType").ToDataType(), rec.GetInt("SignalId")); n++; } AddEvent("Сигналы клона прочитаны", n + " сигналов"); //db.Execute("DELETE * FROM MomentsValues"); //db.Execute("DELETE * FROM Intervals"); using (var rec = new RecDao(db, "Intervals")) { rec.AddNew(); rec.Put("TimeBegin", _timeBegin); rec.Put("TimeEnd", _timeEnd); } } } } catch (Exception ex) { AddError("Ошибка при подготовке клона", ex); } }
public void DaoDbStatic() { var db = CopyDb("Static"); string file = File("Static"); string fileWrong = File("Static2"); string fileCopy = File("Copy"); string fileTmp = TestLib.TestRunDir + @"Libraries\TmpDaoStatic.accdb"; db.Dispose(); Assert.IsNull(db.Database); Assert.IsNull(db.Connection); Assert.IsTrue(DaoDb.Check(file, "DaoTest")); Assert.IsTrue(DaoDb.Check(file, "DaoTest", new[] { "Tabl", "SubTabl", "EmptyTabl", "SysTabl", "SysSubTabl" })); Assert.IsTrue(DaoDb.Check(file, new[] { "Tabl", "SubTabl", "EmptyTabl" })); Assert.IsFalse(DaoDb.Check(fileWrong, "Fignia")); Assert.IsFalse(DaoDb.Check(null, "Fignia")); Assert.IsFalse(DaoDb.Check(fileWrong, "Fignia")); Assert.IsFalse(DaoDb.Check(fileWrong, new[] { "Tabl" })); Assert.IsFalse(DaoDb.Check(file, new[] { "Tabl", "SubTabl", "EmptyTabl1" })); DaoDb.Compress(file, 10000000); DaoDb.Compress(file, 10000); Assert.IsTrue(new FileInfo(fileTmp).Exists); Assert.IsTrue(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.Always)); Assert.IsFalse(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNotExists)); Assert.IsFalse(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNewVersion)); new FileInfo(fileCopy).Delete(); Assert.IsTrue(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNotExists)); new FileInfo(fileCopy).Delete(); Assert.IsTrue(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNewVersion)); Assert.IsTrue(new FileInfo(fileCopy).Exists); DaoDb.Execute(file, "DELETE * FROM Tabl"); DaoDb.ExecuteAdo(file, "DELETE * FROM SysTabl"); using (var rec = new AdoReader(file, "SELECT * FROM Tabl")) Assert.IsFalse(rec.HasRows); using (var rec = new AdoReader(file, "SELECT * FROM SubTabl")) Assert.IsFalse(rec.HasRows); using (var rec = new DaoRec(file, "SysTabl")) Assert.IsFalse(rec.HasRows); using (var rec = new DaoRec(file, "SysSubTabl")) Assert.IsFalse(rec.HasRows); }
public static void Initialize() { if (_isInitialized) { return; } try { InfoTaskDir = Different.GetInfoTaskDir(); GeneralDir = InfoTaskDir + @"General\"; TmpDir = InfoTaskDir + @"Tmp\"; DocsDir = InfoTaskDir + @"Docs\"; ControllerDir = InfoTaskDir + @"Controller\"; ReporterDir = InfoTaskDir + @"Reporter\"; ConfigFile = GeneralDir + "Config.accdb"; HistryTemplateFile = GeneralDir + "HistoryTemplate.accdb"; if (!DaoDb.Check(GeneralDir + "General.accdb", new[] { "Functions", "FunctionsOverloads" })) { Different.MessageError("Не допустимый General.accdb"); } if (!DaoDb.Check(ConfigFile, new[] { "SysTabl", "SysSubTabl" })) { Different.MessageError("Не допустимый Config.accdb"); } ControllerFile = ControllerDir + "ControllerData.accdb"; if (!DaoDb.Check(ControllerFile, new[] { "Threads", "Projects", "Providers" })) { Different.MessageError("Не допустимый ControllerData.accdb"); } ReporterFile = ReporterDir + "ReporterData.accdb"; ReportTemplateFile = ReporterDir + "ReportTemplate.accdb"; DebugMode = SysTabl.ValueS(ControllerFile, "DebugMode") == "True"; Oka.Register(); ReadProvidersLists(); _isInitialized = true; } catch (Exception ex) { ex.MessageError("Настроечный файл имеет недопустимый формат"); } }
private void butOpenDatabase_Click(object sender, EventArgs e) { var op = new OpenFileDialog { AddExtension = true, CheckFileExists = true, DefaultExt = "accbd", Multiselect = false, Title = @"Файл базы данных клона архива Ovation Historian", Filter = @"Файлы MS Access (.accdb) | *.accdb" }; op.ShowDialog(); if (DaoDb.Check(op.FileName, new[] { "CFG_PT_NAME", "PT_ATTRIB", "PT_HF_HIST" })) { DatabaseFile.Text = op.FileName; } else { Different.MessageError("Указан недопустимый файл клона архива", op.FileName); } }
public static bool IsArchive(string dbPath) { return(DaoDb.Check(dbPath, new[] { "Projects", "Reports", "Params", "ReportParams", "Ranges", "SingleIntervals", "SingleValues", "NamedIntervals", "NamedValues", "MomentsValues", "BaseIntervals", "BaseValues", "HourIntervals", "HourValues", "DayIntervals", "DayValues", "AbsoluteValues" })); }
public static bool IsImitFile(string dbPath) { return(DaoDb.Check(dbPath, new[] { "SignalsBehavior", "SignalsValues" })); }
public static bool IsClone(string dbPath) { return(DaoDb.Check(dbPath, new[] { "Objects", "Signals", "MomentsValues" })); }
//Проверки на то, что файл является файлом одного из типов public static bool IsProject(string dbPath) { return(DaoDb.Check(dbPath, new[] { "Objects", "Signals", "CalcParams", "CalcSubParams", "CalcParamsArchive", "Tasks", "SignalsInUse", "GraficsList" })); }