Exemple #1
0
        private DataSet ExecuteStoredProc(SharpQueryProcedure procedure)
        {
            SharpQuerySchemaClassCollection tmp = procedure.GetSchemaParameters();

            this.sqlParamsCollection = new ParameterCollection();
            SqlParameterConverter converter = new SqlParameterConverter();

            if (converter.CanConvertFrom(typeof(SharpQuerySchemaClassCollection)))
            {
                if (converter.CanConvertTo(null, typeof(ParameterCollection)))
                {
                    sqlParamsCollection = (ParameterCollection)converter.ConvertTo(null,
                                                                                   CultureInfo.InstalledUICulture,
                                                                                   tmp,
                                                                                   typeof(ParameterCollection));
                }
            }

            if (sqlParamsCollection.Count > 0)
            {
                using (ParameterDialog inputform = new ParameterDialog(sqlParamsCollection)) {
                    if (inputform.ShowDialog() != DialogResult.OK)
                    {
                        return(null);
                    }
                    else
                    {
                        IDbCommand    command = this.BuildCommand();
                        DbDataAdapter adapter = this.BuildAdapter();
                        DataSet       dataSet = ResultPanel.CreateDataSet();
                        try {
                            SqlDataAccessStrategy.BuildQueryParameters(command, sqlParamsCollection);
                            adapter.SelectCommand = (DbCommand)command;

                            adapter.Fill(dataSet);
                            return(dataSet);
                        } catch (Exception e) {
                            MessageService.ShowError(e.Message);
                        } finally {
                            if (adapter.SelectCommand.Connection.State == ConnectionState.Open)
                            {
                                adapter.SelectCommand.Connection.Close();
                            }
                        }
                    }
                }
            }
            return(null);
        }
Exemple #2
0
        private DataSet FillGrid()
        {
            this.connectionObject = ConnectionObject.CreateInstance(this.model.ReportSettings.ConnectionString,
                                                                    System.Data.Common.DbProviderFactories.GetFactory("System.Data.OleDb"));

            this.txtSqlString.Text = String.Empty;
            SqlQueryChecker.Check(model.ReportSettings.CommandType,
                                  model.ReportSettings.CommandText);
            DataSet dataSet = ResultPanel.CreateDataSet();

            this.txtSqlString.Text = model.ReportSettings.CommandText;
            if (model.ReportSettings.CommandType == CommandType.StoredProcedure)
            {
                if (reportStructure.SharpQueryProcedure == null)
                {
                    throw new IllegalQueryException();
                }

                SharpQueryProcedure             procedure = reportStructure.SharpQueryProcedure;
                SharpQuerySchemaClassCollection sc        = procedure.GetSchemaParameters();

                if ((sc != null) && sc.Count > 0)
                {
                    dataSet = ExecuteStoredProc(procedure);
                }
                else
                {
                    dataSet = ExecuteStoredProc();
                }
            }

            // from here we create from an SqlString like "Select...."
            if (model.ReportSettings.CommandType == CommandType.Text)
            {
                this.txtSqlString.Text = model.ReportSettings.CommandText;
                dataSet = BuildFromSqlString();
            }
            return(dataSet);
        }