Benutzer mit den meisten Antworten
MySQL und VB.net

Frage
-
Hallo liebe VB Gemeinde,
ich habe heute mal eine allgemeine Frage zum umgang mit MySql. Und zwar habe ich zuerst alles immer wie in Datenbank Tutorial beschrieben gemacht. Dann habe ich mir eine klasse mit funktionen gebastelt die mir das verbinden,trennen,abfragen, usw. erledigt. Nun meine Frage: gibt es noch eine elegantere Art das ganze MySql abzuhandeln?
VG
Okeanos
Antworten
-
Meine Frage zielt darauf ab ob irgend jemand eine Klasse geschieben hat, welche die arbeit mit MySql vereinfacht / fehlerfrei / performant ist. Oder ob vielleicht jemand einen ganz anderen Lösungsweg gewählt hat, der womöglich besser ist als das ganze in eine Klasse zu scheiben.
VG
Okeanos
Hallo Okeanus,
es gibt nur zwei Lösungswege für MySQL.
Die erste Variante mit dem NET connector, welche Robert aufgezeigt hat ist sehr gut und zu bevorzugen.
Dann gibt es noch die Möglichkeit mit dem MySQL OBDC Treiber. Der stellt die Verbindung als ODBC Datenquelle mit der Datenbank her. Auf der NET Seite benutzt man dann ODBC Methoden:
Der MySQL Treiber muss einmalig installiert sein und ist auf den MySQL Seiten als 32bit und 64bit Version zu finden. Getestet habe ich beide. Der code sieht fast analog aus wie der den Robert gepostet hat. Das nimmt sich vom Aufwand her nicht viel:
Private Function dbAccess(ByVal strSQL As String) As Boolean Dim tab As String = "Table0" 'Connector/ODBC 3.51 connection string Dim MyConString As String = "DRIVER={MySQL ODBC 3.51 Driver};" & _ "SERVER=13.177.224.53;" & _ "DATABASE=result;" & _ "USER=username;" & _ "PASSWORD=password;" & _ "OPTION=2;" Dim adapter As OdbcDataAdapter Try adapter = New OdbcDataAdapter(strSQL, MyConString) adapter.MissingMappingAction = MissingMappingAction.Passthrough adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey Catch ex As Exception 'error occurs here MsgBox("error connection: " & ex.Message) Return False End Try adapter.Fill(DataSet1, tab) DataGridView1.DataSource = DataSet1 DataGridView1.DataMember = tab Return True End Function
Du willst aber noch einen wrapper für Alles. So was gibt es nicht. So wie dargestellt musst Du schon einsteigen. So schwer ist das aber nicht, finde ich. Ich hoffe ich konnte Dir helfen.
Gruss Ellen
P.S. die links von Robert sind super. Habe die erforderlichen ODBC Treiber zum download gefunden:
http://www.mysql.com/downloads/connector/odbc/
Je nachdem für welche der beiden Varainten Du dich entscheidest, würde ich von jeder anderen Lösung (einer alles Könner dll) abraten. Arbeite Dich in NET ODBC oder NET connector ein. Das macht Sinn
Nachtrag2. Habe den code als Projekt in die Gallery eingestellt
http://code.msdn.microsoft.com/MySQL-connectorODBC-01412db7
Ich benutze/ I'm using VB2008 & VB2010
- Als Antwort vorgeschlagen Elmar BoyeEditor Donnerstag, 3. Mai 2012 17:02
- Bearbeitet Ellen Ramcke Freitag, 11. Mai 2012 13:05 Link zum Projekt
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 23. Mai 2012 13:46
Alle Antworten
-
Hi,
was verstehst Du unter "eleganter"? Ohne zu wissen, was Du gerne wie machen würdest, kann man da wenig bis gar nichts sagen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
hi,
ja ist etwas schwammig formuliert. Meine Frage zielt darauf ab ob irgend jemand eine Klasse geschieben hat, welche die arbeit mit MySql vereinfacht / fehlerfrei / performant ist. Oder ob vielleicht jemand einen ganz anderen Lösungsweg gewählt hat, der womöglich besser ist als das ganze in eine Klasse zu scheiben.
VG
Okeanos
-
Meine Frage zielt darauf ab ob irgend jemand eine Klasse geschieben hat, welche die arbeit mit MySql vereinfacht / fehlerfrei / performant ist. Oder ob vielleicht jemand einen ganz anderen Lösungsweg gewählt hat, der womöglich besser ist als das ganze in eine Klasse zu scheiben.
VG
Okeanos
Hallo Okeanus,
es gibt nur zwei Lösungswege für MySQL.
Die erste Variante mit dem NET connector, welche Robert aufgezeigt hat ist sehr gut und zu bevorzugen.
Dann gibt es noch die Möglichkeit mit dem MySQL OBDC Treiber. Der stellt die Verbindung als ODBC Datenquelle mit der Datenbank her. Auf der NET Seite benutzt man dann ODBC Methoden:
Der MySQL Treiber muss einmalig installiert sein und ist auf den MySQL Seiten als 32bit und 64bit Version zu finden. Getestet habe ich beide. Der code sieht fast analog aus wie der den Robert gepostet hat. Das nimmt sich vom Aufwand her nicht viel:
Private Function dbAccess(ByVal strSQL As String) As Boolean Dim tab As String = "Table0" 'Connector/ODBC 3.51 connection string Dim MyConString As String = "DRIVER={MySQL ODBC 3.51 Driver};" & _ "SERVER=13.177.224.53;" & _ "DATABASE=result;" & _ "USER=username;" & _ "PASSWORD=password;" & _ "OPTION=2;" Dim adapter As OdbcDataAdapter Try adapter = New OdbcDataAdapter(strSQL, MyConString) adapter.MissingMappingAction = MissingMappingAction.Passthrough adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey Catch ex As Exception 'error occurs here MsgBox("error connection: " & ex.Message) Return False End Try adapter.Fill(DataSet1, tab) DataGridView1.DataSource = DataSet1 DataGridView1.DataMember = tab Return True End Function
Du willst aber noch einen wrapper für Alles. So was gibt es nicht. So wie dargestellt musst Du schon einsteigen. So schwer ist das aber nicht, finde ich. Ich hoffe ich konnte Dir helfen.
Gruss Ellen
P.S. die links von Robert sind super. Habe die erforderlichen ODBC Treiber zum download gefunden:
http://www.mysql.com/downloads/connector/odbc/
Je nachdem für welche der beiden Varainten Du dich entscheidest, würde ich von jeder anderen Lösung (einer alles Könner dll) abraten. Arbeite Dich in NET ODBC oder NET connector ein. Das macht Sinn
Nachtrag2. Habe den code als Projekt in die Gallery eingestellt
http://code.msdn.microsoft.com/MySQL-connectorODBC-01412db7
Ich benutze/ I'm using VB2008 & VB2010
- Als Antwort vorgeschlagen Elmar BoyeEditor Donnerstag, 3. Mai 2012 17:02
- Bearbeitet Ellen Ramcke Freitag, 11. Mai 2012 13:05 Link zum Projekt
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 23. Mai 2012 13:46
-
Hallo Okeanos_85_02,
Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.