Browse Source

Crash if DraggedColumn in PullModelPanel.cs is a ForeignKey-Column

pull/15/head^2
peterforstmeier 15 years ago
parent
commit
e61da9ac97
  1. 38
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs
  2. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs

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

@ -34,14 +34,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
private ElementHost databasesTreeHost; private ElementHost databasesTreeHost;
private DatabasesTreeView databasesTree; private DatabasesTreeView databasesTree;
private enum NodeType { private enum NodeType
{
// DataBaseRoot,
// dataBaseConnctionClose,
// dataBaseConnection,
// tablesRoot,
// viewsRoot,
// proceduresRoot,
TableImage, TableImage,
ViewImage, ViewImage,
ProcedureImage, ProcedureImage,
@ -89,7 +83,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
if (message == DialogMessage.Next) { if (message == DialogMessage.Next) {
customizer.Set("SqlString", this.txtSqlString.Text.Trim()); customizer.Set("SqlString", this.txtSqlString.Text.Trim());
//reportStructure.CommandType = commandType;
reportStructure.SqlString = this.txtSqlString.Text.Trim(); reportStructure.SqlString = this.txtSqlString.Text.Trim();
reportStructure.ConnectionString = connectionString; reportStructure.ConnectionString = connectionString;
base.EnableFinish = true; base.EnableFinish = true;
@ -196,7 +189,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
this.txtSqlString.AppendText(colName); this.txtSqlString.AppendText(colName);
} }
reportStructure.CommandType = CommandType.Text; reportStructure.CommandType = CommandType.Text;
reportStructure.IDatabaseObjectBase = column; if (reportStructure.IDatabaseObjectBase == null)
{
reportStructure.IDatabaseObjectBase = column;
}
break; break;
case NodeType.ProcedureImage: case NodeType.ProcedureImage:
@ -208,12 +204,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
reportStructure.CommandType = CommandType.StoredProcedure; reportStructure.CommandType = CommandType.StoredProcedure;
reportStructure.IDatabaseObjectBase = procedure; reportStructure.IDatabaseObjectBase = procedure;
break; break;
/*
case NodeType.ViewImage:
this.txtSqlString.Text = String.Empty;
this.txtSqlString.Text = "No idea how to handle views";
break;
*/
default: default:
break; break;
} }
@ -223,7 +213,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
private void databasesTree_SelectedItemChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs<object> e) private void databasesTree_SelectedItemChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs<object> e)
{ {
if (e.NewValue is IDatabaseObjectBase) if (e.NewValue is IDatabaseObjectBase)
{ {
IDatabase parentDatabase = e.NewValue as IDatabase; IDatabase parentDatabase = e.NewValue as IDatabase;
@ -251,11 +241,16 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
if (this.currentNode is IDatabase) if (this.currentNode is IDatabase)
{ {
this.connectionString = "Provider=" + parentDatabase.Datasource.DatabaseDriver.ODBCProviderName + ";" + parentDatabase.ConnectionString; if (parentDatabase != null)
this.txtSqlString.Enabled = true; {
this.connectionString = "Provider=" + parentDatabase.Datasource.DatabaseDriver.ODBCProviderName + ";" + parentDatabase.ConnectionString;
this.txtSqlString.Enabled = true;
if (this.firstDrag) if (this.firstDrag)
this.txtSqlString.Text = string.Empty; this.txtSqlString.Text = string.Empty;
firstDrag = false;
}
} }
else else
{ {
@ -264,6 +259,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
} }
} }
///<summary> ///<summary>
/// We check if a ColumnName includes an "-" Character, /// We check if a ColumnName includes an "-" Character,
/// if so, suround it with []</summary> /// if so, suround it with []</summary>

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

@ -105,9 +105,11 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
if (t != null) { if (t != null) {
str = t.Name; str = t.Name;
} }
else else
{ {
str = reportStructure.IDatabaseObjectBase.Parent.Name; //str = reportStructure.IDatabaseObjectBase.Parent.Name;
str = "Table1";
} }
return str; return str;
} }

Loading…
Cancel
Save