Exemplo n.º 1
0
        //Удаление транзакции
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            GetpcName     getpcName  = new GetpcName();
            SqlConnection connection = new SqlConnection("Server = localhost; "
                                                         + "Initial Catalog = " + getpcName.NamePc() + ";"
                                                         + "Integrated Security = SSPI");

            SqlCommand command = new SqlCommand
            {
                CommandText = "delete from RETAILTRANSACTIONTABLE where RECEIPTID ='" + TransBox.Text + "'",
                CommandType = CommandType.Text,
                Connection  = connection
            };

            try
            {
                connection.Open();

                //Logger.Log.Info("Успешно подключились к БД " + NamePc() + "для выполнения скрипта ReplicaExport");
                command.CommandTimeout = 240;
                command.ExecuteNonQuery();
                connection.Close();
                //Logger.Log.Info("Успешно выполнил скрипт ReplicaExport на БД " + NamePc() + "соединение закрыл");
                MessageBox.Show("Зависшая транзакция удалена.");
            }
            catch (Exception exception)
            {
                //Logger.Log.Error(exception.Message);
            }
        }
Exemplo n.º 2
0
        //Search transaction
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string        trans      = TransBox.Text;
            GetpcName     getpcName  = new GetpcName();
            SqlConnection connection = new SqlConnection("Server = localhost; "
                                                         + "Initial Catalog = " + getpcName.NamePc() + ";"
                                                         + "Integrated Security = SSPI");
            SqlCommand command = new SqlCommand
            {
                CommandText = "select * from RETAILTRANSACTIONTABLE where RECEIPTID ='" + trans + "'",
                CommandType = CommandType.Text,
                Connection  = connection
            };

            try
            {
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();

                //выводим данные
                while (reader.Read())
                {
                    string grossamount = reader.GetString(18); //18
                    //ResultLabel.Text = grossamount;
                    Console.WriteLine(grossamount);
                    Console.ReadKey();
                }
                reader.Close();
                //Logger.Log.Info("Успешно подключились к БД " + NamePc() + "для выполнения скрипта ReplicaExport");
                command.CommandTimeout = 240;
                command.ExecuteNonQuery();
                connection.Close();
                //Logger.Log.Info("Успешно выполнил скрипт ReplicaExport на БД " + NamePc() + "соединение закрыл");
            }
            catch (Exception exception)
            {
                //Logger.Log.Error(exception.Message);
            }
        }
Exemplo n.º 3
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            DialogResult result = System.Windows.Forms.MessageBox.Show("ВНИМАНИЕ!",
                                                                       "НЕОБХОДИМО ЗАВЕРШИТЬ РАБОТУ НА ВСЕХ ОКНАХ, ВКЛЮЧАЯ ДОСТАВКУ!",
                                                                       MessageBoxButtons.YesNo);

            //Переводим в однопользовательский режим.
            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                GetpcName     getpcName  = new GetpcName();
                SqlConnection connection = new SqlConnection("Server = localhost; "
                                                             + "Initial Catalog = " + getpcName.NamePc() + ";"
                                                             + "Integrated Security = SSPI");

                #region Переводим БД в однопользовательский режим
                SqlCommand command = new SqlCommand
                {
                    CommandText = "ALTER DATABASE " + "DB" + getpcName.NamePc() + "SET SINGLE_USER",
                    CommandType = CommandType.Text,
                    Connection  = connection
                };
                try
                {
                    connection.Open();

                    //Logger.Log.Info("Успешно подключились к БД " + NamePc() + "для выполнения скрипта ReplicaExport");
                    command.CommandTimeout = 240;
                    command.ExecuteNonQuery();
                    connection.Close();
                    //Logger.Log.Info("Успешно выполнил скрипт ReplicaExport на БД " + NamePc() + "соединение закрыл");
                }
                catch (Exception exception)
                {
                    //Logger.Log.Error(exception.Message);
                }

                #endregion

                #region Восстанавливаем БД

                SqlCommand command1 = new SqlCommand
                {
                    CommandText = "DBCC CHECKDB (" + "'DB" + getpcName.NamePc() + "'" + ",REPAIR_ALLOW_DATA_LOSS);",
                    CommandType = CommandType.Text,
                    Connection  = connection
                };
                try
                {
                    connection.Open();

                    //Logger.Log.Info("Успешно подключились к БД " + NamePc() + "для выполнения скрипта ReplicaExport");
                    command1.CommandTimeout = 240;
                    command1.ExecuteNonQuery();
                    connection.Close();
                    //Logger.Log.Info("Успешно выполнил скрипт ReplicaExport на БД " + NamePc() + "соединение закрыл");
                }
                catch (Exception exception)
                {
                    //Logger.Log.Error(exception.Message);
                }

                #endregion

                //TODO: Реализовать вывод процента выполнения
                #region Выводим процент выполнения

                SqlCommand command3 = new SqlCommand
                {
                    CommandText = "SELECT [command],[start_time],[percent_complete] FROM sys.dm_exec_requests WHERE [command] LIKE '%DBCC%'",
                    CommandType = CommandType.Text,
                    Connection  = connection
                };
                try
                {
                    connection.Open();
                    SqlDataReader reader = command3.ExecuteReader();
                    while (reader.Read())
                    {
                        var percent = reader.GetDouble(2);
                        percentLabel.Content = percent;
                    }

                    //Logger.Log.Info("Успешно подключились к БД " + NamePc() + "для выполнения скрипта ReplicaExport");
                    command3.CommandTimeout = 240;
                    command3.ExecuteNonQuery();
                    connection.Close();
                    //Logger.Log.Info("Успешно выполнил скрипт ReplicaExport на БД " + NamePc() + "соединение закрыл");
                }
                catch (Exception exception)
                {
                    //Logger.Log.Error(exception.Message);
                }

                #endregion

                #region Переводим в многопользовательский режим

                SqlCommand command2 = new SqlCommand
                {
                    CommandText = "ALTER DATABASE " + "DB" + getpcName.NamePc() + "SET MULTI_USER",
                    CommandType = CommandType.Text,
                    Connection  = connection
                };
                try
                {
                    connection.Open();

                    //Logger.Log.Info("Успешно подключились к БД " + NamePc() + "для выполнения скрипта ReplicaExport");
                    command2.CommandTimeout = 240;
                    command2.ExecuteNonQuery();
                    connection.Close();
                    //Logger.Log.Info("Успешно выполнил скрипт ReplicaExport на БД " + NamePc() + "соединение закрыл");
                }
                catch (Exception exception)
                {
                    //Logger.Log.Error(exception.Message);
                }

                #endregion

                #region Переводим в онлайн режим

                SqlCommand command4 = new SqlCommand
                {
                    CommandText = "ALTER DATABASE " + "DB" + getpcName.NamePc() + "SET ONLINE",
                    CommandType = CommandType.Text,
                    Connection  = connection
                };
                try
                {
                    connection.Open();

                    //Logger.Log.Info("Успешно подключились к БД " + NamePc() + "для выполнения скрипта ReplicaExport");
                    command4.CommandTimeout = 240;
                    command4.ExecuteNonQuery();
                    connection.Close();
                    //Logger.Log.Info("Успешно выполнил скрипт ReplicaExport на БД " + NamePc() + "соединение закрыл");
                }
                catch (Exception exception)
                {
                    //Logger.Log.Error(exception.Message);
                }

                #endregion
            }

            //Закрываем окно, если нажали - нет
            else
            {
                RepairDBWindow repairDBWindow = new RepairDBWindow();
                repairDBWindow.Close();
            }
        }