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); }
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; }