Veröffentlicht 11. März 200916 j 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?
12. März 200916 j 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.
12. März 200916 j 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
12. März 200916 j 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.
12. März 200916 j hat sich schon erledigt!! gell gooner : Naja, zumindest bei Dir. In meinem Quellcode ist noch alles beim Alten! :cool:
13. März 200916 j 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
13. März 200916 j 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?
13. März 200916 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.