예제 #1
0
		private DataSet FillGrid() 
		{
			SqlQueryChecker.Check(model.ReportSettings.CommandType,
			                      model.ReportSettings.CommandText);
			
			DataSet dataSet = ResultPanel.CreateDataSet ();
			
			this.txtSqlString.Text = model.ReportSettings.CommandText;
			
			var dataAccess = new SqlDataAccessStrategy(model.ReportSettings);
			
			switch (model.ReportSettings.CommandType) {
				case CommandType.Text:
					dataSet = DataSetFromSqlText(dataAccess);	
					break;
				case CommandType.StoredProcedure:
					dataSet = DataSetFromStoredProcedure(dataAccess);
					break;
				case CommandType.TableDirect:
					MessageService.ShowError("TableDirect is not suppurted at the moment");
					break;
				default:
					throw new Exception("Invalid value for CommandType");
			}
			return dataSet;
		}
예제 #2
0
        private DataSet FillGrid()
        {
            SqlQueryChecker.Check(model.ReportSettings.CommandType,
                                  model.ReportSettings.CommandText);

            DataSet dataSet = ResultPanel.CreateDataSet();

            this.txtSqlString.Text = model.ReportSettings.CommandText;

            var dataAccess = new SqlDataAccessStrategy(model.ReportSettings);

            switch (model.ReportSettings.CommandType)
            {
            case CommandType.Text:
                dataSet = DataSetFromSqlText(dataAccess);
                break;

            case CommandType.StoredProcedure:
                dataSet = DataSetFromStoredProcedure(dataAccess);
                break;

            case CommandType.TableDirect:
                MessageService.ShowError("TableDirect is not suppurted at the moment");
                break;

            default:
                throw new Exception("Invalid value for CommandType");
            }
            return(dataSet);
        }
예제 #3
0
		public static IDataManager CreateDataManager (IReportModel reportModel,ReportParameters reportParameters)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}
			IDataManager dataManager = null;
			ConnectionObject connectionObject = null;
			IDataAccessStrategy accesStrategy = null;
			if (reportParameters != null) {
				connectionObject = reportParameters.ConnectionObject;
			}
			
//			if (connectionObject != null) {
//				accesStrategy = new SqlDataAccessStrategy(reportModel.ReportSettings,connectionObject);
//			} else {
//				accesStrategy = new SqlDataAccessStrategy(reportModel.ReportSettings,null);
//				
//			}
			accesStrategy = new SqlDataAccessStrategy(reportModel.ReportSettings);
			dataManager = DataManager.CreateInstance(reportModel.ReportSettings,accesStrategy);
			if (dataManager == null) {
				throw new MissingDataManagerException();
			}
			return dataManager;
		}	
예제 #4
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);
        }
예제 #5
0
        DataSet DatasetFromStoredProcedure()
        {
            this.connectionObject = CreateConnection();
            DataSet    dataSet   = ResultPanel.CreateDataSet();
            IProcedure procedure = reportStructure.IDatabaseObjectBase as IProcedure;

            var paramCollection = CheckParameters(procedure);


            if (paramCollection.Count > 0)
            {
                FillParameters(paramCollection);
                reportStructure.SqlQueryParameters.AddRange(paramCollection);
            }

            var dataAccess = new SqlDataAccessStrategy(model.ReportSettings, connectionObject);

            dataSet = dataAccess.ReadData();
            dataSet.Tables[0].TableName = procedure.Name;

            return(dataSet);
        }
예제 #6
0
		DataSet DatasetFromStoredProcedure()
		{
			this.connectionObject = CreateConnection();
			DataSet dataSet = ResultPanel.CreateDataSet();
			IProcedure procedure = reportStructure.IDatabaseObjectBase as IProcedure;
			
			var paramCollection = CheckParameters(procedure);
			
			
			if (paramCollection.Count > 0) {
				FillParameters(paramCollection);
				reportStructure.SqlQueryParameters.AddRange(paramCollection);
			}
			
			var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject);
			dataSet = dataAccess.ReadData();
			dataSet.Tables[0].TableName = procedure.Name;
			
			return dataSet;
		}