Gooner85 Geschrieben 28. Juli 2009 Geschrieben 28. Juli 2009 Hallo zusammen, ich habe folgende Query mittels LINQ in VB.net erstellt: Dim DaSe As New System.Data.DataSet() Dim DaTa As DataTable Dim cmd As New System.Data.SqlClient.SqlCommand cmd.Connection = Con cmd.CommandText = "SELECT * FROM Personen" Dim Ada As System.Data.SqlClient.SqlDataAdapter = _ New System.Data.SqlClient.SqlDataAdapter(cmd) Ada.Fill(DaSe) Con.Close() DaTa = DaSe.Tables("Tab1") Dim query = From T In DaTa.AsEnumerable _ Where T.Field(Of Integer)("ID") = 1 _ Select T.Field(Of String)("Nachname") DataGridView1.DataSource = query Leider erhalte ich kein Ergebnis! Meine Imports sind: Imports System.IO Imports System.Data Imports System.Linq Imports System.Data.Linq Imports System.Data.DataTableExtensions Wo liegt mein Fehler? Zitieren
realgun Geschrieben 30. Juli 2009 Geschrieben 30. Juli 2009 Hallo, lässt sich der Code den compilieren? Wieso holst Du Dir die Tabelle "Tab1" wenn Deine Quelltabelle "Personen" heißt? DaTa = DaSe.Tables("Tab1") cmd.CommandText = "SELECT * FROM Personen" Zitieren
Gooner85 Geschrieben 31. Juli 2009 Autor Geschrieben 31. Juli 2009 Er lässt sich zwar kompelieren, jedoch habe ich keine Ausgabe in meinem GridView erhalten. Ich habe das Problem jetzt allerdings anders gelöst und bin auf LINQ to SQL umgestiegen. Damit funktioniert es jetzt: Dim db As New DataClasses1DataContext Dim query = From T In db.Personen _ Where T.E_Mail IsNot Nothing _ Select T DataGridView1.DataSource = query Zitieren
Gooner85 Geschrieben 31. Juli 2009 Autor Geschrieben 31. Juli 2009 Gibt es auch eine Möglichkeit, einem DataGridView zwei Abfragen als Datasource zu übergeben, etwa so: Dim db As New DataClasses1DataContext Dim query1 = From T In db.Personen _ Where T.E_Mail IsNot Nothing _ Select T Dim query2 = From T In db.Personen _ Where T.E_Mail Is Nothing And _ (T.Anschrift IsNot Nothing And T.Ort IsNot Nothing And T.Postleitzahl _ IsNot Nothing) _ Select T DataGridView1.DataSource = query1 + query2 Obiges Beispiel funktioniert natürlich nicht! Zitieren
0815FIA Geschrieben 31. Juli 2009 Geschrieben 31. Juli 2009 ähm, wozu? verknüpf einfach die bedingungen mit einem OR. Zitieren
Gooner85 Geschrieben 31. Juli 2009 Autor Geschrieben 31. Juli 2009 Es geht darum, dass ich zwei seperate Abfragen habe. Die eine Abfrage gibt Datensätze zurück, die eine E-Mail Adresse besitzen, die zweite Abfrage, die keine E-Mail Adresse sondern nur Post-Adressen beinhalten. Ich möchte nun gerne in meinem DataGridView beide Abfragen zusammenführen. Sollte doch möglich sein oder? Zitieren
0815FIA Geschrieben 31. Juli 2009 Geschrieben 31. Juli 2009 keine ahnung, aber das ergebnis wird dasselbe sein, meinst du nicht? Ob er dir nun zuerst die einen Datensätze holt und danach die anderen, oder gleich beide zusammen.. Ich glaube das ist gehupft wie gesprungen. Oder willst du die Abfragen zu unterschiedlichen Zeitpunkten separat aufrufen? Zitieren
Gooner85 Geschrieben 31. Juli 2009 Autor Geschrieben 31. Juli 2009 Es sollte eigentlich auf drei Möglichkeiten hinauslaufen: 1. Datagridview zeigt nur die Datensätze der ersten Abfrage an 2. Datagridview zeigt nur die Datensätze der zweiten Abfrage an 3. Datagridview zeigt die Datensätze beider Abfragen an Ich habe es jetzt mittels UNION gelöst: Dim Query = query1.Union(query2) DataGridView1.DataSource = Query Funktioniert wunderbar Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.