Veröffentlicht 28. Juli 200916 j 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?
30. Juli 200916 j 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"
31. Juli 200916 j 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
31. Juli 200916 j 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!
31. Juli 200916 j 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?
31. Juli 200916 j 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?
31. Juli 200916 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.