Problem mit DataSet Array NullReferenceException

Itallian

Grünschnabel
Hiho,
ich habe vollgendes Problem:
Ich habe mir um den MDB Zugriff zu erleichtern eine eigene MDB Zugrifss Klasse geschrieben. Die alle wichtigen und elementaren Klassen für den MDB Zugriff Kapselt.
Das funktioniert so weit ganz gut, aber nun habe ich ein Problem mit einem DataSet Array:
Code:
//Deklaration
private DataSet[] mDataSt = new DataSet[10];
.
.
.
        private void CreateDataSet(string table)
        {
            try
            {
                if (mDataSt != null)
                {
                    mDataSt[mDataSt.GetUpperBound(0)] = new DataSet("mdKontakte");
                    NewDataTable(table);
                }
                else
                {
                    mDataSt[0] = new DataSet("mdbKontakte");
                }
            }
            catch (Exception e)
            {
               throw e;
            }
        }

Ich bekomme nun im Throw diese Meldung:
NullReferenceException:
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Würde nun gerne wissen was da los ist. Das Array ist richtig Deklariert und dem Array wird eine neue DataSet Instanz zugewiesen. Bin ein wenig Ratlos.

Hoffe man kann mir helfen.

Itallian
 
Hallo,

wie ich das sehe, würde im else-Zweig von "if (mDataSt != null)" eine Zuweisung vorgenommen, obwohl "mDataSt" nicht initialisiert ist (falls du da überhaupt reinläufst).

Gruß
MCoder
 
Hiho,
hjab das Problem gelöst. Das Problem war nicht das DataSet, sondern die die DataTableCollection. Hab Haltepunkte gesetzt gehabt und gesehen das das DataSet gefüllt wird.
Die Throw anweisung wurde nur zum falschen zeitpuntk ausgelöst.
Die von Handb deklarierte DataTableCollection funktioniert, so wie ich das bei MSDN verstehe, nicht ausserhalb eines dataSets.
Ich fülle nun alle DataTables der Datenbank in das DataSet und setze nun die Eigenschaft CurrentDataTable über eine Methode auf die Gewünschte Tabelle.
Muss mal schauen wie ich das in Zukunft löse wenn sich die Klasse weiter entwickelt.
Für jetztige Nutzung reicht es, aber für später weiß ich nicht, wenn die Klasse mit z.B: 5 Tables im DataSet umgehen muss, ob das so effizient ist.

Mfg
Itallian
 

Neue Beiträge

Zurück