Esempio n. 1
0
        public static bool UpdateServerObject(SqlConnection conn)
        {
            //Получим директорию к папке с обновлениями
            string        pathToSql  = "\\SQL";
            StringBuilder currentDir = new StringBuilder(Directory.GetCurrentDirectory());
            int           startIndex = currentDir.ToString().IndexOf("\\WinUI");

            if (startIndex >= 0)
            {
                currentDir.Remove(startIndex, currentDir.Length - startIndex);
            }
            currentDir.Append(pathToSql);
            //Проверка существования директории
            string currentDirToUpdate = currentDir.ToString();

            if (!Directory.Exists(currentDirToUpdate))
            {
                MessageBox.Show("Не вдалося знайти папку з оновленнями.\nТехнічна інформація: діректорії " + currentDirToUpdate + "не існує", "Помилка");
                return(false);
            }
            //Получение всех sql скриптов по указанному пути currentDirToUpdate
            List <string> sqlFiles;
            string        error;

            if (!GetFilesFromPath.GetNamesSqlFile(currentDirToUpdate, out sqlFiles, out error))
            {
                MessageBox.Show("Помилка отримання sql файлів.\nТехнічна інформація: " + error, "Помилка");
                return(false);
            }
            //В папке обновлений пусто
            if (sqlFiles.Count == 0)
            {
                return(false);
            }
            Coffee.Init("Виконання sql скриптів...");
            bool     bRet     = true;
            SqlSript sqlSript = new SqlSript(conn);

            foreach (string file in sqlFiles)
            {
                Coffee.Refresh("Виконання sql скриптів..." + file + ".sql");
                if (!sqlSript.RunScript(currentDirToUpdate + "\\" + file + ".sql", out error))
                {
                    MessageBox.Show("Помилка виконання sql скрипта " + file + ".\nТехнічна інформація: " + error, "Помилка");
                    bRet = false;
                }
            }
            Coffee.Term();
            return(bRet);
        }
Esempio n. 2
0
        public static bool RunSqlSript(string pathToSqlFile, SqlConnection conn)
        {
            if (pathToSqlFile == string.Empty)
            {
                MessageBox.Show("Не вказаний путь до файлів ");
                return(false);
            }
            //Выполнение скриптов заливки в установленные таблицы
            Coffee.Init("Виконання sql скриптів...");
            List <string> sqlFiles;
            string        error;

            if (!GetFilesFromPath.GetNamesSqlFile(pathToSqlFile, out sqlFiles, out error))
            {
                MessageBox.Show("Помилка отримання sql файлів.\nТехнічна інформація: " + error, "Помилка");
                Coffee.Term();
                return(false);
            }
            if (sqlFiles.Count == 0)
            {
                Coffee.Term();
                return(false);
            }
            SqlSript sqlSript = new SqlSript(conn);

            foreach (string file in sqlFiles)
            {
                Coffee.Refresh("Виконання sql скриптів..." + file + ".sql");
                if (!sqlSript.RunScript(SetupProgram.PathToSQLFile + "\\" + file + ".sql", out error))
                {
                    MessageBox.Show("Помилка виконання sql скрипта " + file + ".\nТехнічна інформація: " + error, "Помилка");
                }
            }
            Coffee.Term();
            return(true);
        }