Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: oliPro

oliPro (Level 1) - Jetzt verbinden

27.06.2008, aktualisiert 10:48 Uhr, 21564 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 ..
Ähnliche Inhalte
Visual Studio
Visual Basic für anfänger
gelöst Frage von Daoudi1973Visual Studio12 Kommentare

ich möchte Visual Basic lernen, kann jemand mir Tipps geben. PS: ich habe nur im 1999 mit Fortran 90 ...

VB for Applications
Visual Basic Checkbox drucken?
gelöst Frage von GERz0cKErZVB for Applications10 Kommentare

Hallo, ich habe ein Programm wo man mehrere checkboxen anklicken kann. Der Text der checkboxen soll am Ende gedruckt ...

Visual Studio
Bitcoin-Miner mit Visual Basic ?
Frage von Aicher1998Visual Studio2 Kommentare

Hallo, kennt jemand einen Ansatz, wie ich mit Visual Basic Bitcoins mine? Ich würde auch auf eine Python-DLL zurückgreifen ...

Visual Studio
Pastebin auslesen mit Visual Basic?
gelöst Frage von UltraZzVisual Studio2 Kommentare

Hey,ich würde gerne wissen wie man (z.B. für ein Passwort welches man immer wieder ändern kann,ohne das Programm zu ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 14 StundenHumor (lol)3 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware16 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...