Zum Inhalt springen

SQL-Server Connection & DataGridView Ausgabe ???


Empfohlene Beiträge

Geschrieben

Ich möchte eine Tabelle aus einer MS SQL Datenbank namens "Personen" in einem DataGridView ausgeben lassen.

Meine Vorgehensweise lautet wie folgt:

        'Connection

        Dim Con As System.Data.Odbc.OdbcConnection = New Odbc.OdbcConnection _

        ("Data Source=K47;Initial Catalog=Hotel_Alex;Integrated Security=True")


        'Adapter

        Dim Ada As System.Data.Odbc.OdbcDataAdapter = New Odbc.OdbcDataAdapter _

        ("SELECT * FROM Personen", Con)


        'DataSet

        Dim DaSe As New DataSet


        Con.Open()


        Ada.Fill(DaSe, "Persons")


        Con.Close()


        'DataTable

        Dim DaTa As DataTable = DaSe.Tables("Persons")


        DataGridView1.DataSource = DaTa

Kann mir jemand weiterhelfen?

Geschrieben

Ja.

* Nimm keine Odbc Verbindung sondern eine SQLConnection.

* con open und Close kannst du weglassen

* Die Zeile mit der DataTable kannst du weglassen

* DataGridView1.DataSource = DaSe

Dann müsste dir das Grid schon das DataSet anzeigen. Über die DataMember Property kannst du dann auch die Table einschränken, also z.B. auf "Personen" festlegen. Alternativ kannst du auch eine DataTable anstelle des Datasets befüllen und binden.

Geschrieben

Ich hab's jetzt mal folgendermaßen abgeändert, leider ohne Erfolg.

'Connection

        Dim Con As System.Data.SqlClient.SqlConnection = New SqlClient.SqlConnection _

        ("Data Source=K47;Initial Catalog=Hotel_Alex;Integrated Security=True")


        'Adapter

        Dim Ada As System.Data.SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter _

        ("SELECT * FROM Personen", Con)


        'DataSet

        Dim DaSe As New DataSet


        Ada.Fill(DaSe, "Persons")


        'DataTable

        'Dim DaTa As DataTable = DaSe.Tables("Persons")


        DataGridView1.DataSource = DaSe

Geschrieben

Schau mal mit einem Debugger ob die Daten ins Dataset geladen werden. Das kannst du unter Visual Studio mit der kleinen Lupe machen die erscheint wenn du einen Breakpoint setzt und über das Dataset fährst.

Geschrieben

Ich habe das ganze jetzt mit einem Button gestartet. Jetzt funktioniert es. Hat jemand eine Erklärung?

Der Code hat sich zumindest nicht verändert:

        'Connection

        Dim Con As System.Data.SqlClient.SqlConnection = New SqlClient.SqlConnection _

        ("Data Source=K47;Initial Catalog=Hotel_Alex;Integrated Security=True")


        'Adapter

        Dim Ada As System.Data.SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter _

        ("Select Personen.Vorname, Zimmer.Zimmernr From Personen, Zimmer", Con)


        'DataSet

        Dim DaSe As New DataSet


        Ada.Fill(DaSe, "Persons")


        'DataTable 1

        Dim DaTa As DataTable = DaSe.Tables("Persons")


        'DataGridView

        DataGridView1.DataSource = DaTa

Geschrieben

Ich steig gerade nur noch bedingt durch, der Code hat sich ja doch verändert, du verwendest jetzt die SQL Connection. Ich hatte auch in Erinnerung das du geschrieben hast der Fehler läge am Connection String, der hat sich aber gar nicht verändert. Kannst du uns mal aufklären?

Wenn du keine weiteren Tabellen laden willst kannst du auch direkt die DataTable verwenden und brauchst kein Dataset. Deine SQL Abfrage macht ohne Join auch nur bedingt Sinn.

Gut wäre es bei Anfragen generell zu schreiben WAS genau nicht funktioniert.

Zur konkreten Frage: Du erstellst eine WinForms Applikation? Der abgedruckte Code funktioniert als EventHandler eines Buttons? An welcher Stelle funktioniert er denn nicht und was funktioniert genau nicht?

Geschrieben

Ich hatte auch in Erinnerung das du geschrieben hast der Fehler läge am Connection String, der hat sich aber gar nicht verändert. Kannst du uns mal aufklären?

Das habe wohl ich gesagt nicht der gooner. Nicht nur grob überfliegen bitte.

Zur konkreten Frage: Du erstellst eine WinForms Applikation? Der abgedruckte Code funktioniert als EventHandler eines Buttons? An welcher Stelle funktioniert er denn nicht und was funktioniert genau nicht?

Wenn er die den ganzen ablauf ins form_load event reinschreibt funzt es nicht.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...