Laden...

DataTable aus untyp. DataSetTabelle mit ausgewählten Spalten erstellen

Erstellt von oehrle vor 11 Jahren Letzter Beitrag vor 11 Jahren 614 Views
O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 11 Jahren
DataTable aus untyp. DataSetTabelle mit ausgewählten Spalten erstellen

verwendetes Datenbanksystem: <MS2008Express>

Hallo, was mache ich falsch?
In der Linq-Anleitung steht, es müßte so gehen. Aber wahrscheinlich ist das DataSet typisiert.


   //// geht
            IEnumerable<DataRow> query = (IEnumerable<DataRow>)(from o in DsAftVerwalt.Tables["Movdaten"].AsEnumerable()
                                                                where o["AGStatus"].ToString().Trim() == agStatus
                                                                select o);

   //// geht nicht
            IEnumerable<DataRow> query = ((IEnumerable<DataRow>)(from o in DsAftVerwalt.Tables["Movdaten"].AsEnumerable()
                                                              where o["AGStatus"].ToString().Trim() == agStatus
                                                              select new{Spalte1 = o[0]}));


  foreach (DataRow row in query)
            {

            }



Bei der Abfrage bekomme ich folgenden Fehlermeldung:

{System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Data.DataTableExtensions.AsEnumerable(DataTable source)
at WpfDatenfinder.Form.Auftr...}

ALso ich denke es hat damit zu tun, das in der query die Source, d.h. die eigentliche Datentabelle == null ist. Warum aber? Wie mache ich die Abfrage anders damit das passt? Eigentlich möchte 4 Spalten in eine neue Tabelle laufen lassen, habe aber zum testen erst mal nur ein Spalte verwendet.

Habe mir mal den Eintrag angesehen.

DataTable mit Linq füllen

Funzt aber so nicht.
Was muss ich noch beachten?

F
10.010 Beiträge seit 2004
vor 11 Jahren

Das Du nach so langer zeit immer noch keine vernünftige Fehlermeldung gibst ist schon schlimm.

O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 11 Jahren
Fehlermeldung

Bei der Abfrage bekomme ich folgenden Fehlermeldung:

{System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Data.DataTableExtensions.AsEnumerable(DataTable source)
at WpfDatenfinder.Form.Auftr...}

Also ich denke es hat damit zu tun, das in der query die Source, d.h. die eigentliche Datentabelle == null ist. Warum aber? Wie mache ich die Abfrage anders damit das passt? Eigentlich möchte 4 Spalten in eine neue Tabelle laufen lassen, habe aber zum testen erst mal nur ein Spalte verwendet.

Ich habe mir zum behelfen erst mal alle Spalten mit LinQ in eine Tabelle laufen lassen und dann die überflüssigen Spalten entfernt.
Kann ich einzlne Spalten überhaupt gleich per LinQ über eine Abfrage in eine Tabelle fahren?

F
10.010 Beiträge seit 2004
vor 11 Jahren

Du hast die Begründung in dem von dir verlinkten Thread gelesen?

Du erzeugst einen anonymen Typen, also keine DataRow.
Das es dann nicht gehen kann ist doch irgendwie klar, oder?