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

Frage Entwicklung Visual Studio

Mitglied: oliPro

oliPro (Level 1) - Jetzt verbinden

27.06.2008, aktualisiert 10:48 Uhr, 21502 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
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 3 StundenWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 5 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...