Ejemplo n.º 1
0
        private void OnTestQueryButtonClick(object sender, EventArgs e)
        {
            ParameterCollection parameters = new ParameterCollection();

            foreach (Parameter parameter in this._selectQuery.Parameters)
            {
                if (parameter.DbType == DbType.Object)
                {
                    parameters.Add(new Parameter(parameter.Name, parameter.Type, parameter.DefaultValue));
                }
                else
                {
                    parameters.Add(new Parameter(parameter.Name, parameter.DbType, parameter.DefaultValue));
                }
            }
            if (parameters.Count > 0)
            {
                SqlDataSourceParameterValueEditorForm form = new SqlDataSourceParameterValueEditorForm(base.ServiceProvider, parameters);
                if (UIServiceHelper.ShowDialog(base.ServiceProvider, form) == DialogResult.Cancel)
                {
                    return;
                }
            }
            this._resultsGridView.DataSource = null;
            DbCommand command = null;
            Cursor    current = Cursor.Current;

            try
            {
                Cursor.Current = Cursors.WaitCursor;
                DbProviderFactory dbProviderFactory    = SqlDataSourceDesigner.GetDbProviderFactory(this._dataConnection.ProviderName);
                DbConnection      designTimeConnection = null;
                try
                {
                    designTimeConnection = SqlDataSourceDesigner.GetDesignTimeConnection(base.ServiceProvider, this._dataConnection);
                }
                catch (Exception exception)
                {
                    if (designTimeConnection == null)
                    {
                        UIServiceHelper.ShowError(base.ServiceProvider, exception, System.Design.SR.GetString("SqlDataSourceSummaryPanel_CouldNotCreateConnection"));
                        return;
                    }
                }
                if (designTimeConnection == null)
                {
                    UIServiceHelper.ShowError(base.ServiceProvider, System.Design.SR.GetString("SqlDataSourceSummaryPanel_CouldNotCreateConnection"));
                }
                else
                {
                    command = this._sqlDataSourceDesigner.BuildSelectCommand(dbProviderFactory, designTimeConnection, this._selectQuery.Command, parameters, this._selectQuery.CommandType);
                    DbDataAdapter adapter = SqlDataSourceDesigner.CreateDataAdapter(dbProviderFactory, command);
                    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                    DataSet dataSet = new DataSet();
                    adapter.Fill(dataSet);
                    if (dataSet.Tables.Count == 0)
                    {
                        UIServiceHelper.ShowError(base.ServiceProvider, System.Design.SR.GetString("SqlDataSourceSummaryPanel_CannotExecuteQueryNoTables"));
                    }
                    else
                    {
                        this._resultsGridView.DataSource = dataSet.Tables[0];
                        foreach (DataGridViewColumn column in this._resultsGridView.Columns)
                        {
                            column.SortMode = DataGridViewColumnSortMode.NotSortable;
                        }
                        this._resultsGridView.AutoResizeColumnHeadersHeight();
                        this._resultsGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
                    }
                }
            }
            catch (Exception exception2)
            {
                UIServiceHelper.ShowError(base.ServiceProvider, exception2, System.Design.SR.GetString("SqlDataSourceSummaryPanel_CannotExecuteQuery"));
            }
            finally
            {
                if ((command != null) && (command.Connection.State == ConnectionState.Open))
                {
                    command.Connection.Close();
                }
                Cursor.Current = current;
            }
        }
 private void OnTestQueryButtonClick(object sender, EventArgs e)
 {
     ParameterCollection parameters = new ParameterCollection();
     foreach (Parameter parameter in this._selectQuery.Parameters)
     {
         if (parameter.DbType == DbType.Object)
         {
             parameters.Add(new Parameter(parameter.Name, parameter.Type, parameter.DefaultValue));
         }
         else
         {
             parameters.Add(new Parameter(parameter.Name, parameter.DbType, parameter.DefaultValue));
         }
     }
     if (parameters.Count > 0)
     {
         SqlDataSourceParameterValueEditorForm form = new SqlDataSourceParameterValueEditorForm(base.ServiceProvider, parameters);
         if (UIServiceHelper.ShowDialog(base.ServiceProvider, form) == DialogResult.Cancel)
         {
             return;
         }
     }
     this._resultsGridView.DataSource = null;
     DbCommand command = null;
     Cursor current = Cursor.Current;
     try
     {
         Cursor.Current = Cursors.WaitCursor;
         DbProviderFactory dbProviderFactory = SqlDataSourceDesigner.GetDbProviderFactory(this._dataConnection.ProviderName);
         DbConnection designTimeConnection = null;
         try
         {
             designTimeConnection = SqlDataSourceDesigner.GetDesignTimeConnection(base.ServiceProvider, this._dataConnection);
         }
         catch (Exception exception)
         {
             if (designTimeConnection == null)
             {
                 UIServiceHelper.ShowError(base.ServiceProvider, exception, System.Design.SR.GetString("SqlDataSourceSummaryPanel_CouldNotCreateConnection"));
                 return;
             }
         }
         if (designTimeConnection == null)
         {
             UIServiceHelper.ShowError(base.ServiceProvider, System.Design.SR.GetString("SqlDataSourceSummaryPanel_CouldNotCreateConnection"));
         }
         else
         {
             command = this._sqlDataSourceDesigner.BuildSelectCommand(dbProviderFactory, designTimeConnection, this._selectQuery.Command, parameters, this._selectQuery.CommandType);
             DbDataAdapter adapter = SqlDataSourceDesigner.CreateDataAdapter(dbProviderFactory, command);
             adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
             DataSet dataSet = new DataSet();
             adapter.Fill(dataSet);
             if (dataSet.Tables.Count == 0)
             {
                 UIServiceHelper.ShowError(base.ServiceProvider, System.Design.SR.GetString("SqlDataSourceSummaryPanel_CannotExecuteQueryNoTables"));
             }
             else
             {
                 this._resultsGridView.DataSource = dataSet.Tables[0];
                 foreach (DataGridViewColumn column in this._resultsGridView.Columns)
                 {
                     column.SortMode = DataGridViewColumnSortMode.NotSortable;
                 }
                 this._resultsGridView.AutoResizeColumnHeadersHeight();
                 this._resultsGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
             }
         }
     }
     catch (Exception exception2)
     {
         UIServiceHelper.ShowError(base.ServiceProvider, exception2, System.Design.SR.GetString("SqlDataSourceSummaryPanel_CannotExecuteQuery"));
     }
     finally
     {
         if ((command != null) && (command.Connection.State == ConnectionState.Open))
         {
             command.Connection.Close();
         }
         Cursor.Current = current;
     }
 }