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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...