static void Main(string[] args)
        {
            Console.WriteLine("Введите название СУБД, с который вы будете работать: \nДоступные СУБД: Oracle, MySQL, PostgreSQL");

            string name = Console.ReadLine();

            name = name.ToLower();
            DB userDB;

            try
            {
                switch (name)
                {
                case "oracle":
                    userDB = new Oracle();
                    break;

                case "mysql":
                    userDB = new MySQL();
                    break;

                case "postgresql":
                    userDB = new PostgreSQL();
                    break;

                case "":
                    throw new ArgumentException("Вы ничего не ввели");

                default:
                    throw new ArgumentException("Название СУБД введено неверно");
                }
            }
            catch (Exception exp)
            {
                Console.WriteLine(exp.Message);
                return;
            }


            Console.WriteLine("Через запятую введите номера операций, которые вы хотите выполнить:" +
                              "\nСписок доступных операций:\n1 - Создать базу данных,\n2 - Добавить таблицу" +
                              "\n3 - Удалить таблицу\n4 - Добавить представление\n5 - Удалить представление" +
                              "\n6 - Создать индекс\n7 - Удалить индекс\n8 - Создать последовательность" +
                              "\n9 - Удалить последовательность\n10 - Добавить ограничение");

            string acts = Console.ReadLine();

            Console.WriteLine();
            string[] actions = acts.Split(",");
            int      actionName;
            Client   c = new Client(userDB);

            try
            {
                for (int i = 0; i < actions.Length; i++)
                {
                    actionName = Int32.Parse(actions[i]);
                    throw new ArgumentException("ааааа");
                    c.chooseAction(actionName);
                }
            }
            catch (Exception exp)
            {
                Console.WriteLine(exp.Message);
            }
        }
Esempio n. 2
0
        /*Метод, который используется для создания объекта класса BD_realize на основе входных данных.*/
        /// <summary>
        /// Метод Initialization для инициализации объекта dostup на основе данных, полученных от пользователя.
        /// </summary>
        ///<param name="bd_num">Строка-номер СУБД.</param>
        ///<param name="comands">Массив строк-номеров, каждый из которых соответствует команде СУБД.</param>
        private static void Initialization(string bd_num, string[] comands)
        {
            switch (bd_num)     /*В зависимости от числа определяется, к какой СУБД нужен доступ.*/
            {
            case "1":
                MySQL mySQL_bd = new MySQL();
                dostup = new BD_realize(mySQL_bd);
                break;

            case "2":
                Oracle oracle_bd = new Oracle();
                dostup = new BD_realize(oracle_bd);
                break;

            case "3":
                PostgreSQL postgreSQL_bd = new PostgreSQL();
                dostup = new BD_realize(postgreSQL_bd);
                break;
            }

            foreach (string s in comands)
            {
                switch (s) /*В зависимости от числа определяется, к какой команде СУБД нужен доступ.*/
                {
                case "1":
                    dostup.CreateTable();
                    break;

                case "2":
                    dostup.DropTable();
                    break;

                case "3":
                    dostup.AlterTable();
                    break;

                case "4":
                    dostup.UpdateTable();
                    break;

                case "5":
                    dostup.Select();
                    break;

                case "6":
                    dostup.Insert();
                    break;

                case "7":
                    dostup.Delete();
                    break;

                case "8":
                    dostup.Merge();
                    break;

                case "9":
                    dostup.AlterUser();
                    break;

                case "10":
                    dostup.ContactDBA();
                    break;

                default:
                    Console.WriteLine("Такой команды не существует.");
                    break;
                }
            }
        }