Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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?

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"

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

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!

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?

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?

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.