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 @@ @@ -3,6 +3,7 @@
using System;
using System.Data;
using System.Data.SqlClient;
using System.Globalization;
using System.Reflection;
using System.Windows.Forms;
@ -13,7 +14,6 @@ using ICSharpCode.Data.Core.Interfaces; @@ -13,7 +14,6 @@ using ICSharpCode.Data.Core.Interfaces;
using ICSharpCode.Data.Core.UI.UserControls;
using ICSharpCode.SharpDevelop;
namespace ICSharpCode.Reports.Addin.ReportWizard
{
/// <summary>
@ -239,8 +239,13 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -239,8 +239,13 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
{
if (parentDatabase != null)
{
this.connectionString = "Provider=" + parentDatabase.Datasource.DatabaseDriver.ODBCProviderName + ";" + parentDatabase.ConnectionString;
this.txtSqlString.Enabled = true;
// this.connectionString = + parentDatabase.ConnectionString;
// 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)
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; @@ -19,6 +19,7 @@ using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.DataAccess;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Project.BaseClasses;
using ICSharpCode.Reports.Core.Project.Interfaces;
using ICSharpCode.SharpDevelop;
namespace ICSharpCode.Reports.Addin.ReportWizard
@ -65,15 +66,16 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -65,15 +66,16 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
DataSet dataSet = ResultPanel.CreateDataSet ();
this.txtSqlString.Text = model.ReportSettings.CommandText;
this.connectionObject = CreateConnection ();
var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject);
switch (model.ReportSettings.CommandType) {
case CommandType.Text:
this.connectionObject = CreateConnection ();
var dataAccess = new SqlDataAccessStrategy(model.ReportSettings,connectionObject);
dataSet = dataAccess.ReadData();
dataSet.Tables[0].TableName = CreateTableName (reportStructure);
dataSet = DatasetFromSqlText(dataAccess);
break;
case CommandType.StoredProcedure:
dataSet = DatasetFromStoredProcedure();
dataSet = DatasetFromStoredProcedure(dataAccess);
break;
case CommandType.TableDirect:
MessageService.ShowError("TableDirect is not suppurted at the moment");
@ -112,24 +114,27 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -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();
IProcedure procedure = reportStructure.IDatabaseObjectBase as IProcedure;
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;
}
@ -137,7 +142,13 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -137,7 +142,13 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
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);
p.Run();
}
@ -230,7 +241,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -230,7 +241,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public override bool ReceiveDialogMessage(DialogMessage message)
{
reportStructure = (ReportStructure)base.CustomizationObject;
if (message == DialogMessage.Activated)
{
ShowData();

Loading…
Cancel
Save