Laden...

DataSet. Problem beim füllen

Erstellt von han vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.145 Views
han Themenstarter:in
43 Beiträge seit 2006
vor 17 Jahren
DataSet. Problem beim füllen

Der füllt mir n Feld in meinem DataSet nicht und ich weiß nicht wieso...


            con.Open();

            OleDbDataAdapter daSelect = new OleDbDataAdapter("SELECT * FROM kObjekteRelation WHERE obj1 = " + id + " OR obj2 = " + id, con);
            daSelect.Fill(ds, "daSelect");

            DataColumn dc = new DataColumn("Objekt");
            dc.Caption = "Objekt";
            dc.DataType = System.Type.GetType("System.String");
            ds.Tables[0].Columns.Add(dc);
            
            int anzDatensaetze = ds.Tables[0].Rows.Count;

            for (int i = 0; i < anzDatensaetze; i++)
            {
                int obj2 = 0;

                if (Int32.Parse(ds.Tables[0].Rows[i].ItemArray[1].ToString()) == id)
                {
                    obj2 = Int32.Parse(ds.Tables[0].Rows[i].ItemArray[2].ToString());
                    
                }
                else
                    obj2 = Int32.Parse(ds.Tables[0].Rows[i].ItemArray[1].ToString());

                OleDbCommand bezSelect = new OleDbCommand("SELECT Bezeichnung FROM kObjekte WHERE ID = " + obj2, con);

                OleDbDataReader bezReader = bezSelect.ExecuteReader();
                while (bezReader.Read())
                {
                    object bla = (object) bezReader["Bezeichnung"];
                    ds.Tables[0].Rows[i].ItemArray.SetValue(bla, 5);        // SOLL DEN WERT SETZEN MACHT ER ABER NICHT!!!!!
                }
                bezReader.Close();
                
            }

            ds.Tables[0].Columns.Remove("obj1");
            ds.Tables[0].Columns.Remove("obj2");

            dv = new DataView(ds.Tables[0]);

            con.Close();

            FillListe();   // fügt meinem DataGrid noch ne Spalte hinzu und füllt das Grid dann mit dv.

Funktioniert alles einwandfrei, das DataGrid is gefüllt, bis auf die Spalte "Objekt", also die mit dem Index 5.

Vielleicht findet ja einer von euch den Fehler, ich find da nix, eigentlich müsste es doch gehen oder?
Also in der Datenbank steht in den Feldern "Bezeichnung auch was drin, der holt da schon was raus.
In der object Variable "bla" steht das richtige drin.

han Themenstarter:in
43 Beiträge seit 2006
vor 17 Jahren

keiner ne Idee ❔/
ich weiß nicht wie ich's anders machen soll.
Hilfe 🙁

Ok, hab jez noch was anderes gefunden.

ds.Tables[0].Rows[i][5] = bla;

funktioniert... warum auch immer das Andere nicht geht.
Naja..

Greetz

han