Browse Source

PullModel Panel - SqlServer 2012

reports
Peter Forstmeier 13 years ago
parent
commit
608f4ffebf
  1. 11
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs
  2. 39
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs

11
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs

@ -3,6 +3,7 @@
using System; using System;
using System.Data; using System.Data;
using System.Data.SqlClient;
using System.Globalization; using System.Globalization;
using System.Reflection; using System.Reflection;
using System.Windows.Forms; using System.Windows.Forms;
@ -13,7 +14,6 @@ using ICSharpCode.Data.Core.Interfaces;
using ICSharpCode.Data.Core.UI.UserControls; using ICSharpCode.Data.Core.UI.UserControls;
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
namespace ICSharpCode.Reports.Addin.ReportWizard namespace ICSharpCode.Reports.Addin.ReportWizard
{ {
/// <summary> /// <summary>
@ -239,8 +239,13 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
{ {
if (parentDatabase != null) if (parentDatabase != null)
{ {
this.connectionString = "Provider=" + parentDatabase.Datasource.DatabaseDriver.ODBCProviderName + ";" + parentDatabase.ConnectionString; // this.connectionString = + parentDatabase.ConnectionString;
this.txtSqlString.Enabled = true; // this.connectionString = "Driver={SQLServer};" + "Provider=SQLOLEDB;" + parentDatabase.ConnectionString;
//var cs = new SqlConnection();
//cs.
this.connectionString = "Provider=SQLOLEDB;" + parentDatabase.ConnectionString;
// this.connectionString = parentDatabase.ConnectionString;
this.txtSqlString.Enabled = true;
if (this.firstDrag) if (this.firstDrag)
this.txtSqlString.Text = string.Empty; this.txtSqlString.Text = string.Empty;

39
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs

@ -19,6 +19,7 @@ using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.DataAccess; using ICSharpCode.Reports.Core.DataAccess;
using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Project.BaseClasses; using ICSharpCode.Reports.Core.Project.BaseClasses;
using ICSharpCode.Reports.Core.Project.Interfaces;
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
namespace ICSharpCode.Reports.Addin.ReportWizard namespace ICSharpCode.Reports.Addin.ReportWizard
@ -65,15 +66,16 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
DataSet dataSet = ResultPanel.CreateDataSet (); DataSet dataSet = ResultPanel.CreateDataSet ();
this.txtSqlString.Text = model.ReportSettings.CommandText; this.txtSqlString.Text = model.ReportSettings.CommandText;
this.connectionObject = CreateConnection ();
var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject);
switch (model.ReportSettings.CommandType) { switch (model.ReportSettings.CommandType) {
case CommandType.Text: case CommandType.Text:
this.connectionObject = CreateConnection (); dataSet = DatasetFromSqlText(dataAccess);
var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject);
dataSet = dataAccess.ReadData();
dataSet.Tables[0].TableName = CreateTableName (reportStructure);
break; break;
case CommandType.StoredProcedure: case CommandType.StoredProcedure:
dataSet = DatasetFromStoredProcedure(); dataSet = DatasetFromStoredProcedure(dataAccess);
break; break;
case CommandType.TableDirect: case CommandType.TableDirect:
MessageService.ShowError("TableDirect is not suppurted at the moment"); MessageService.ShowError("TableDirect is not suppurted at the moment");
@ -112,24 +114,27 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
} }
DataSet DatasetFromStoredProcedure() private DataSet DatasetFromSqlText(IDataAccessStrategy dataAccess)
{
var dataSet = dataAccess.ReadData();
dataSet.Tables[0].TableName = CreateTableName (reportStructure);
return dataSet;
}
private DataSet DatasetFromStoredProcedure(IDataAccessStrategy dataAccess)
{ {
this.connectionObject = CreateConnection();
DataSet dataSet = ResultPanel.CreateDataSet(); DataSet dataSet = ResultPanel.CreateDataSet();
IProcedure procedure = reportStructure.IDatabaseObjectBase as IProcedure;
IProcedure procedure = reportStructure.IDatabaseObjectBase as IProcedure;
var paramCollection = CheckParameters(procedure); var paramCollection = CheckParameters(procedure);
if (paramCollection.Count > 0) { if (paramCollection.Count > 0) {
FillParameters(paramCollection); FillParameters(paramCollection);
reportStructure.SqlQueryParameters.AddRange(paramCollection); reportStructure.SqlQueryParameters.AddRange(paramCollection);
} }
var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject);
dataSet = dataAccess.ReadData(); dataSet = dataAccess.ReadData();
dataSet.Tables[0].TableName = procedure.Name; dataSet.Tables[0].TableName = procedure.Name;
return dataSet; return dataSet;
} }
@ -137,7 +142,13 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
void FillParameters(ParameterCollection paramCollection) void FillParameters(ParameterCollection paramCollection)
{ {
model.ReportSettings.ParameterCollection.AddRange(paramCollection); foreach (var param in paramCollection) {
SqlParameter s = new SqlParameter()
{
ParameterName = param.ParameterName,
};
model.ReportSettings.SqlParameters.Add(s);
}
CollectParametersCommand p = new CollectParametersCommand(model); CollectParametersCommand p = new CollectParametersCommand(model);
p.Run(); p.Run();
} }
@ -230,7 +241,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public override bool ReceiveDialogMessage(DialogMessage message) public override bool ReceiveDialogMessage(DialogMessage message)
{ {
reportStructure = (ReportStructure)base.CustomizationObject;
if (message == DialogMessage.Activated) if (message == DialogMessage.Activated)
{ {
ShowData(); ShowData();

Loading…
Cancel
Save