Exemplo n.º 1
0
        /// <summary>
        /// Сохранить изображение
        /// </summary>
        private void ImageSave()
        {
            if (pictureBox1.Image == null)
            {
                return;
            }
            string fileName = "error.jpeg";

            if (!FBAFile.SaveFileName("Сохранение изображения", "jpeg Files|*.jpeg;*.jpg|All Files (*.*)|*.*", "", 0, ref fileName))
            {
                return;
            }
            try
            {
                pictureBox1.Image.Save(fileName);
            } catch (Exception ex)
            {
                sys.SM("Ошибка сохранения изображения в файл: " + fileName + Var.CR + ex.Message);
            }
        }
Exemplo n.º 2
0
        ///Событие. Кнопки редактора запросов
        private void TbSQL1Click(object sender, EventArgs e)
        {
            string indexstr = tabControlSQL1.SelectedTab.Tag.ToString();
            //FastColoredTextBox f;
            //var textSQL11 = tabControSQL.Controls.Find("sdF").
            var textSQL = (FastColoredTextBox)tabControlSQL1.Controls.Find("textSQL" + indexstr, true).First();
            var dgvSQL  = (DataGridViewFBA)tabControlSQL1.Controls.Find("dgvSQL" + indexstr, true).First(); //textSQL1
            var fastColoredTextBoxSQL = (FastColoredTextBoxNS.FastColoredTextBox)tabControlSQL1.Controls.Find("fastColoredTextBoxSQL" + indexstr, true).First();

            if ((sender == textSQL) && (textSQL.Text == ""))
            {
                textSQL.AppendText("SELECT * FROM fbaEnterHist");
            }

            //Выполнить запрос.
            if (sender == tbSQL1)
            {
                var    tbSQLResult = (TextBox)tabControlSQL1.Controls.Find("tbSQLResult" + indexstr, true).First();
                string SQL         = textSQL.SelectedText;
                if (SQL == "")
                {
                    SQL = textSQL.Text;
                }

                string ExecTextSQL = SQL;
                if (cb_MSQL_SQL.Checked)
                {
                    ExecTextSQL = sys.Parse(SQL);
                }
                DateTime DateTime1 = DateTime.Now;
                sys.RefreshGrid(GetDirection(), dgvSQL, ExecTextSQL);
                tbSQLResult.Text = " Rows: " + dgvSQL.RowCount + "    Execute time: " + sys.GetTimeDiff(DateTime1, DateTime.Now);
            }

            //Распарсить запрос.
            if (sender == tbSQL7)
            {
                var    tbSQLResult = (TextBox)tabControlSQL1.Controls.Find("tbSQLResult" + indexstr, true).First();
                string SQL         = textSQL.SelectedText;
                if (SQL == "")
                {
                    SQL = textSQL.Text;
                }

                string   ExecTextSQL = SQL;
                DateTime DateTime1   = DateTime.Now;
                if (cb_MSQL_SQL.Checked)
                {
                    ExecTextSQL = sys.Parse(SQL);
                }
                fastColoredTextBoxSQL.Text = ExecTextSQL;
                tbSQLResult.Text           = " Execute time: " + sys.GetTimeDiff(DateTime1, DateTime.Now);
            }

            //Очистка редактора запросов
            if (sender == tbSQL2)
            {
                textSQL.Clear();
            }

            //Export to Excel
            if (sender == cm4)
            {
                dgvSQL.ExportToExcel();
            }

            //Новая вкладка.
            //В процедуру передаются компоненты с перовой вкладки (которая никогда не удаляется)
            //чтобы на их примере сделать новую вкладку.
            //Можно было бы и без них - но тогда пришлось бы каждый раз в коде изменять свойства компонентов.
            if (sender == tbSQL3)
            {
                TabControlPageAdd(tabControlSQL1, splitContainerSQL1, textSQL, pnlResultSQL1, tbSQLResult1, dgvSQL1, cmGrid, ref TabIndexSQL);
            }

            //Удалить вкладку
            if ((sender == tbSQL4) && (tabControlSQL1.TabPages.Count > 1))
            {
                tabControlSQL1.SelectedTab.Dispose();
            }

            //Открыть из CSV.
            if (sender == tbSQL5)
            {
                string       FileName         = "";
                string       ErrorMes         = "";
                const bool   ErrorShow        = true;
                const string InitialDirectory = "";
                if (!FBAFile.OpenFileName("", "CSV Files|*.csv|All Files|*.*", InitialDirectory, ref FileName))
                {
                    return;
                }
                System.Data.DataTable DT;
                sys.CSVToDataTable(out DT, FileName, out ErrorMes, ErrorShow);
                dgvSQL.DataSource = DT;
            }

            //Сохранить текст запроса.
            if (sender == tbSQL6)
            {
                string FileName = "";
                if (!FBAFile.SaveFileName("Save SQL", "SQL Files|*.sql|All Files|*.*", "", 0, ref FileName))
                {
                    return;
                }
                FBAFile.FileWriteTextObject(textSQL, FileName, true);
            }

            //Copy to Remote Database
            if (sender == cm1)
            {
                string SQL;
                string ServerTableName = "MyTableName";
                //if (Var.con.serverTypeRemote == ServerType.MSSQL) ServerTableName = "dbo.MyTableName";
                if (!sys.InputValue("Имя таблицы на сервере", "Имя таблицы", SizeMode.Small, ValueType.String, ref ServerTableName))
                {
                    return;
                }
                var DT = (DataTable)dgvSQL.DataSource;
                if (Var.con.serverTypeRemote == ServerType.MSSQL)
                {
                    //Способ Var.con.MSSQLCopyTableToServer работает быстрее для MSSQL, чем sys.GetTextTableToDatabase.
                    Var.con.MSSQLCopyTableToServer(DT, ServerTableName);
                }
                if (Var.con.serverTypeRemote == ServerType.Postgre)
                {
                    SQL = sys.GetTextTableToDatabase(Var.con.serverTypeRemote, ServerTableName, DT, true);
                    sys.Exec(DirectionQuery.Remote, SQL);
                }
                sys.SM("Таблица " + ServerTableName + " загружена на сервер " + Var.con.serverType, MessageType.Information);
            }

            //Copy to Local Database
            if (sender == cm2)
            {
                string ServerTableName = "MyTableName";
                if (!sys.InputValue("Имя таблицы на сервере", "Имя таблицы", SizeMode.Small, ValueType.String, ref ServerTableName))
                {
                    return;
                }
                var    DT  = (DataTable)dgvSQL.DataSource;
                string SQL = sys.GetTextTableToDatabase(ServerType.SQLite, ServerTableName, DT, true);
                Var.conLite.Exec(SQL);
                sys.SM("Таблица " + ServerTableName + " сохранена в локальной базе данных SQLite", MessageType.Information);
            }

            //Export to CSV
            if (sender == cm3)
            {
                string       FileName         = "Table_" + sys.GetDate4FileName(DateTime.Now) + ".csv";
                var          DT               = (DataTable)dgvSQL.DataSource;
                const string InitialDirectory = "";
                if (!FBAFile.SaveFileName("Import object", "XLS Files|*.xls|All Files|*.*", InitialDirectory, 0, ref FileName))
                {
                    return;
                }
                if (!sys.DataTableToCSV(DT, FileName, true))
                {
                    return;
                }
                //sys.SM("Таблица сохранена в файл: " + FileName, MessageType.Information);
                //sys.FileRunSimple(FileName);
                FBAFile.FileRunNotebook(FileName);
            }

            //Export to XLS
            if (sender == cm4)
            {
                var DT = (DataTable)dgvSQL.DataSource;
                if (!sys.DataTableToExcel(DT))
                {
                    return;
                }
                sys.SM("Таблица выгружена в файл XLS", MessageType.Information);
            }
        }