Ejemplo n.º 1
0
        /// <summary>
        /// Imports the selected MySQL table's data into the active Excel worksheet.
        /// </summary>
        /// <returns><c>true</c> if the import is successful, <c>false</c> if errors were found during the import.</returns>
        private bool ImportData()
        {
            _importColumns = null;
            var selectedColumns = new List <DataGridViewColumn>();

            if (PreviewDataGridView.SelectedColumns.Count < PreviewDataGridView.Columns.Count)
            {
                _importColumns = new List <string>(PreviewDataGridView.SelectedColumns.Count);
                selectedColumns.AddRange(PreviewDataGridView.SelectedColumns.Cast <DataGridViewColumn>());
                if (selectedColumns.Count > 1)
                {
                    selectedColumns.Sort((c1, c2) => c1.Index.CompareTo(c2.Index));
                }

                _importColumns.AddRange(selectedColumns.Select(selCol => selCol.HeaderText));
            }

            Cursor = Cursors.WaitCursor;

            // If the importing data exceeds the number of available rows and no row limit was set we will force it for the Select Query.
            SetImportParameterValues(Settings.Default.ImportCreateExcelTable && !LimitRowsCheckBox.Checked && _importIsCappedByRows ? (int)RowsToReturnNumericUpDown.Maximum : RowsTo);

            // Import data into Excel
            var importTuple = _dbTableOrView.ImportData();

            MySqlTable = importTuple != null ? importTuple.Item1 : null;

            Cursor = Cursors.Default;
            return(MySqlTable != null);
        }