Browse Source

Wizard uses DataAccess Code from .Core

pull/15/head^2
peterforstmeier 16 years ago
parent
commit
ca41b2c903
  1. 112
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs
  2. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs

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

@ -11,10 +11,10 @@ using System.Xml; @@ -11,10 +11,10 @@ using System.Xml;
using ICSharpCode.Core;
using ICSharpCode.Core.WinForms;
using ICSharpCode.Data.Core.Interfaces;
using ICSharpCode.Reports.Core;
using ICSharpCode.SharpDevelop;
namespace ICSharpCode.Reports.Addin.ReportWizard
{
/// <summary>
@ -58,24 +58,24 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -58,24 +58,24 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
this.connectionObject = ConnectionObject.CreateInstance(this.model.ReportSettings.ConnectionString,
System.Data.Common.DbProviderFactories.GetFactory("System.Data.OleDb"));
this.txtSqlString.Text = String.Empty;
// this.txtSqlString.Text = String.Empty;
SqlQueryChecker.Check(model.ReportSettings.CommandType,
model.ReportSettings.CommandText);
DataSet dataSet = ResultPanel.CreateDataSet ();
this.txtSqlString.Text = model.ReportSettings.CommandText;
switch (model.ReportSettings.CommandType) {
case CommandType.Text:
this.txtSqlString.Text = model.ReportSettings.CommandText;
ICSharpCode.Data.Core.Interfaces.ITable t = reportStructure.IDatabaseObjectBase as ICSharpCode.Data.Core.Interfaces.ITable;
var v = reportStructure.IDatabaseObjectBase;
dataSet = BuildFromSqlString();
ITable t = reportStructure.IDatabaseObjectBase as ITable;
connectionObject.QueryString = model.ReportSettings.CommandText;
var d = new SqlDataAccessStrategy(model.ReportSettings,connectionObject);
dataSet = d.ReadData();
dataSet.Tables[0].TableName = t.Name;
break;
case CommandType.StoredProcedure:
ICSharpCode.Data.Core.Interfaces.IProcedure tt = reportStructure.IDatabaseObjectBase as ICSharpCode.Data.Core.Interfaces.IProcedure;
var vv = reportStructure.IDatabaseObjectBase;
// var vv = reportStructure.IDatabaseObjectBase;
dataSet = DatasetFromStoredProcedure();
break;
case CommandType.TableDirect:
@ -111,8 +111,62 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -111,8 +111,62 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
return dataSet;
}
/*
private DataSet BuildFromSqlString ()
{
DbDataAdapter adapter = null;
try {
adapter = this.BuildAdapter();
DataSet dataSet = ResultPanel.CreateDataSet();
adapter.Fill(dataSet);
return dataSet;
} finally {
if (adapter.SelectCommand.Connection.State == ConnectionState.Open) {
adapter.SelectCommand.Connection.Close();
}
}
}
*/
DataSet DatasetFromStoredProcedure()
{
DbDataAdapter adapter = null;
try {
DataSet dataSet = ResultPanel.CreateDataSet();
IProcedure tt = reportStructure.IDatabaseObjectBase as IProcedure;
var paramCollection = CheckParameters(tt);
if (paramCollection.Count > 0) {
} else {
adapter = this.BuildAdapter();
}
adapter.Fill(dataSet);
return dataSet;
} finally {
if (adapter.SelectCommand.Connection.State == ConnectionState.Open) {
adapter.SelectCommand.Connection.Close();
}
}
}
ParameterCollection CheckParameters(IProcedure procedure)
{
ParameterCollection col = new ParameterCollection();
// foreach (var element in procedure.Items) {
// Console.WriteLine("{0} - {1}",element.Name,element.DataType);
//
// SqlParameter par = new SqlParameter(element.Name,element.DataType,"",element.ParameterMode);
//
// p.Add(par);
//
// }
return col;
}
private static DataSet CreateDataSet()
{
@ -204,44 +258,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -204,44 +258,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
}
*/
private DataSet BuildFromSqlString ()
{
DbDataAdapter adapter = null;
try {
adapter = this.BuildAdapter();
DataSet dataSet = ResultPanel.CreateDataSet();
adapter.Fill(dataSet);
return dataSet;
} finally {
if (adapter.SelectCommand.Connection.State == ConnectionState.Open) {
adapter.SelectCommand.Connection.Close();
}
}
}
DataSet DatasetFromStoredProcedure()
{
// MessageService.ShowError("Stored Procedures are not suppurted at the moment");
DbDataAdapter adapter = null;
string sqp = model.ReportSettings.CommandText;
try {
adapter = this.BuildAdapter();
DataSet dataSet = ResultPanel.CreateDataSet();
adapter.Fill(dataSet);
return dataSet;
} finally {
if (adapter.SelectCommand.Connection.State == ConnectionState.Open) {
adapter.SelectCommand.Connection.Close();
}
}
}
#endregion

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs

@ -14,7 +14,7 @@ namespace ICSharpCode.Reports.Core @@ -14,7 +14,7 @@ namespace ICSharpCode.Reports.Core
/// </summary>
///
internal class SqlDataAccessStrategy:IDataAccessStrategy
public class SqlDataAccessStrategy:IDataAccessStrategy
{
private ConnectionObject connectionObject;
private ReportSettings reportSettings;

Loading…
Cancel
Save