示例#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);
        }
示例#2
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;
		}