Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Visual Basic Express 2008 an MySQL-Datenbank konnektieren

Frage Entwicklung Visual Studio

Mitglied: oliPro

oliPro (Level 1) - Jetzt verbinden

27.06.2008, aktualisiert 10:48 Uhr, 21185 Aufrufe, 3 Kommentare

Visual Basic Express 2008
MySQL-Server 5.0 WIN

In meiner Verzweiflung muss ich jetzt doch einmal den Rat der Gemeinde suchen.

Was möchte ich:
Meinen VB-Code mit Daten einer MySQL-Tabelle füttern.

Was habe ich bereits getan:
Connector installiert http://dev.mysql.com/downloads/connector/net/5.2.html
Im Datenbank-Explorer versucht, die Verbindung einzurichten

Ein paar Tipps, die ich noch gefunden habe,
aber leider nicht zurecht kommen oder die nicht funktionieren:
Connection String: "Data Source=myServer;Database=myDB;User ID=myUser;Password=myPass"
MySQL Connection: MySql.Data.MySqlClient.MySqlConnection
MySQL Command: MySql.Data.MySqlClient.MySqlCommand

Meine Frage:
Ist es überhaupt möglich in der Express-Edition 2008 eine MySQL-Datenbank einzubinden?
Wenn ja, kann mir jemand ein paar Tipps, Links oder Beispielcode geben?

Gruß, Oliver
Mitglied: 56153
27.06.2008 um 10:48 Uhr
hi,

also erstmal im projekt-explorer mit rechts auf verweise -> 'verweis hinzufügen' klicken. dann über das 'browse' feld zum installationspfad durchklicken (c:\Programme\MySQL\MySQL Connector Net\Binaries\.NET 2.0) und die MySql.Data.dll auswählen.

Okay, damit ist die dll referenziert und kann benutzt werden.

Jetzt zum Code:

Die folgenden Import-Statements kannst du vor jede Klasse setzen, in der du die MySql Verbindung nutzen willst. Das erspart etwas Tipp-Arbeit ;)

01.
Imports MySql.Data.MySqlClient 
02.
Imports MySql.Data.Types
Zur Verbindung wird folgender ConnectionString benötigt:

01.
Dim strConn As String = "Persist Security Info=False;database=(DATENBANKNAME);server=(SERVERNAME);user id=(BENUTZER);Password=(PASSWORT);charset=latin1"
Die Felder (DATENBANKNAME), (SERVERNAME), (BENUTZER) und (PASSWORT) müssen natürlich von dir noch mit den entsprechenden Werten gefüllt werden

Folgende 2 Objekte werden auf jeden Fall benötigt:

01.
'stellt die Verbindung mit der Datenbank zur Verfügung 
02.
Dim objMySQL as MySqlConnection 
03.
'erlaubt das Ausführen von SQL-Statements 
04.
Dim objCommand as MySqlCommand
So, das waren die Vorbereitungen.
Um die Datenbankverbindung nun zu öffnen, erstellst du eine neue Instanz des Connection-Objekts und übergibst diesem den Connectionstring

01.
objMySQL = New MySqlConnection(strConn) 
02.
objMySQL.Open
Um die Verbindung wieder zu schließen, reicht ein Aufruf der Close-Methode und das anschließende Bereinigen der Variable:

01.
objMySQL.Close 
02.
objMySQL = Nothing
Ab jetzt wird es interessant (und auch kompliziert, deswegen beschränke ich mich auf deine Aufgabenvorlage)

Um Daten aus einer SQL-Datenbank abzurufen, wird natürlich ein SQL-String benötigt.

01.
Dim strSQL as string = "SELECT (FELDER) FROM (TABELLE)"
Wobei (FELDER) für eine Auflistung aller benötigten Spalten und (TABELLE) für den Tabellennamen steht.

Dieser SQL-String wird an das Command-Objekt übergeben, zusammen mit dem Objekt für die Datenbankverbindung

01.
objCommand = New MySqlCommand(strSQL, objMySql)
Zusätzlich wird ein Objekt benötigt, das uns die ausgelesenen Daten zur Verfügung stellt. Am einfachsten
ist dies mit einem SQLDataReader-Objekt zu bewerkstelligen, dem die Ergebnisse des Command-Objekts übergeben werden

01.
Dim objReader as MySqlDataReader 
02.
objReader = objCommand.ExecuteQuery
Durch die Ergebnisse kann nun mit einer Do...Loop Schleife iteriert werden

01.
Do Until objReader.Read = False 
02.
dim strFeld1 as string = objReader!Feld1 
03.
dim strFeld2 as string = objReader!Feld2 
04.
msgbox strFeld1 & ":" & strFeld2 
05.
Loop
Wobei hier Feld1, Feld2 etc für die Namen der Spalten, wie im SQL-String angegeben steht.

Danach wird auch der SqlDataReader wieder geschlossen

01.
objReader.Close 
02.
objReader = Nothing
Okay, das war die Theorie

Jetzt nochmal ein zusammenfassendes Beispiel:

Wir möchten die Felder 'KundenName', 'Strasse' und 'Ort' aus der Tabelle 'Kunden' in der Datenbank 'tblKundendaten' auf
dem Server 'srv-wawi' auslesen und in einer MsgBox ausgeben. Das ganze wird über die Prozedur 'LeseKundenDaten' in
der Klasse 'KundenLeser' bewerkstelligt.

Off we go ...

01.
Imports MySql.Data.MySqlClient 
02.
Imports MySql.Data.Types 
03.
 
04.
Public Class KundenLeser 
05.
 
06.
Public Sub LeseKundenDaten() 
07.
 
08.
'stellt die Verbindung mit der Datenbank zur Verfügung 
09.
Dim objMySQL as MySqlConnection 
10.
 
11.
'erlaubt das Ausführen von SQL-Statements 
12.
Dim objCommand as MySqlCommand 
13.
 
14.
'datareader 
15.
Dim objReader as MySqlDataReader 
16.
 
17.
'connection-string 
18.
Dim strConn As String = "Persist Security Info=False;database=tblKundendaten;server=srv-wawi;user id=sqluser;Password=12345;charset=latin1" 
19.
 
20.
'sql-statement 
21.
Dim strSQL as string = "SELECT Kundenname, Strasse, Ort FROM Kunden" 
22.
 
23.
'dieser String enthält nachher die Kundendaten, ein Datensatz pro Zeile 
24.
dim strResult as string = "" 
25.
 
26.
'datenbankverbindung aufbauen 
27.
objMySQL = New MySqlConnection(strConn) 
28.
objMySQL.Open 
29.
 
30.
'command-objekt vorbereiten und an den Reader übergeben 
31.
objCommand = New MySqlCommand(strSQL, objMySql) 
32.
objReader = objCommand.ExecuteQuery 
33.
 
34.
'ergebnisse auslesen und in string speichern 
35.
Do Until objReader.Read = False 
36.
dim strName as string = objReader!KundenName 
37.
dim strStrasse as string = objReader!Strasse 
38.
dim strOrt as string = objReader!Ort 
39.
strResult &= strName & ", " & strStrasse & ", " & strOrt & vbcrlf 
40.
Loop 
41.
 
42.
'Datenbankverbindungen schließen und bereinigen 
43.
objReader.close 
44.
objMySQL.Close 
45.
 
46.
objReader = Nothing 
47.
objCommand = Nothing 
48.
objMySQL = Nothing 
49.
 
50.
'ergebniss anzeigen 
51.
MsgBox strResult, vbokonly, "SQL Ergebniss" 
52.
 
53.
End Sub 
54.
 
55.
End Class
Bitte warten ..
Mitglied: ketchup73
29.01.2009 um 12:25 Uhr
Hallo
bin neu in der Materie
Hab das Script mal ausprobiert und bekomme folgenden Fehler:

Fehler 2 "ExecuteQuery" ist kein Member von "MySql.Data.MySqlClient.MySqlCommand". J:\vb programmierung plus\vb\mysqlconnectiontest\mysqlconnectiontest\Form1.vb 32 21 mysqlconnectiontest


Kann mir einer sagen was ich falsch mache ? hat vielleicht jemand ein einfaches Script für mich das einfach 3 Werte ( Vorname, Nachname , Titel ) aus einer MYSQL DB ( test) mit der Tabelle ( namen ) ausliest und mir in 3 Spalten ausgibt. Mir wäre damit wahnsinnig geholfen.
Danke schon mal
Bitte warten ..
Mitglied: Alex-Cam
12.06.2010 um 20:31 Uhr
Super Erklärung. Tutorial reif! Damit habe es sogar ich verstanden! Top!
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Visual Studio
Mit Visual Basic auf Shopware 5 API zugreifen (9)

Frage von SmogKiel zum Thema Visual Studio ...

Visual Studio
gelöst Pastebin auslesen mit Visual Basic? (2)

Frage von UltraZz zum Thema Visual Studio ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...