Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen
3 Fehlerbehandlung
4 Erweiterte Grundlagen
5 Objektorientierte Programmierung
6 Wichtige Klassen in .NET
7 Weitere Elemente eines Windows-Programms
8 Datenbank-Anwendungen mit ADO.NET
9 Internet-Anwendungen mit ASP.NET
10 Zeichnen mit GDI+
11 Neues in Visual Basic 2008
12 Beispielprojekte
A Installation
B Lösungen der Übungsaufgaben
Stichwort

Download:
- ZIP, ca. 8,4 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Einstieg in Visual Basic 2008 von Thomas Theis
Inkl. zahlreicher Beispiele und Uebungen
Buch: Einstieg in Visual Basic 2008

Einstieg in Visual Basic 2008
geb., mit DVD
442 S., 24,90 Euro
Galileo Computing
ISBN 978-3-8362-1192-5
Online bestellenJetzt online bestellen
* versandkostenfrei in (D) und (A)
Pfeil 8 Datenbank-Anwendungen mit ADO.NET
  Pfeil 8.1 Was sind relationale Datenbanken?
    Pfeil 8.1.1 Beispiel »Lager«
    Pfeil 8.1.2 Indizes
    Pfeil 8.1.3 Relationen
    Pfeil 8.1.4 Übungen
  Pfeil 8.2 Anlegen einer Datenbank in MS Access
    Pfeil 8.2.1 Aufbau von MS Access
    Pfeil 8.2.2 Datenbank-Entwurf in MS Access 2007
    Pfeil 8.2.3 Übungen
  Pfeil 8.3 Datenbankzugriff mit Visual Basic
    Pfeil 8.3.1 Beispiel-Datenbank
    Pfeil 8.3.2 Ablauf eines Zugriffs
    Pfeil 8.3.3 Verbindung
    Pfeil 8.3.4 SQL-Befehl
    Pfeil 8.3.5 Auswahlabfrage
    Pfeil 8.3.6 Aktionsabfrage
  Pfeil 8.4 SQL-Befehle
    Pfeil 8.4.1 Auswahl mit Select
    Pfeil 8.4.2 Ändern mit Update
    Pfeil 8.4.3 Löschen mit Delete
    Pfeil 8.4.4 Einfügen mit Insert
  Pfeil 8.5 Ein Verwaltungsprogramm
    Pfeil 8.5.1 Initialisierung
    Pfeil 8.5.2 Alle Datensätze sehen
    Pfeil 8.5.3 Einen Datensatz einfügen
    Pfeil 8.5.4 Einen Datensatz ändern
    Pfeil 8.5.5 Einen Datensatz löschen
    Pfeil 8.5.6 Einen Datensatz suchen
  Pfeil 8.6 Verbindung zu MySQL
    Pfeil 8.6.1 ODBC-Treiber
    Pfeil 8.6.2 Datenquelle
    Pfeil 8.6.3 Datenbankzugriff mit Visual Basic
    Pfeil 8.6.4 .NET-Treiber
  Pfeil 8.7 Verbindung zu MS SQL Server 2005
    Pfeil 8.7.1 Anlegen einer Datenbank
    Pfeil 8.7.2 Datenbankzugriff mit Visual Basic


Galileo Computing - Zum Seitenanfang

8.6 Verbindung zu MySQL  Zur nächsten ÜberschriftZur vorigen Überschrift

MySQL-Server

Bei MySQL handelt es sich um ein weit verbreitetes, SQL-basiertes Datenbanksystem. Es würde den Rahmen dieses Buches sprengen, wollte man die Installation des MySQL-Servers und die Erstellung einer Datenbank mit einer Tabelle erläutern. Im Folgenden soll daher lediglich gezeigt werden, wie man mit Visual Basic 2008 auf eine vorhandene MySQL-Datenbank zugreift.


Galileo Computing - Zum Seitenanfang

8.6.1 ODBC-Treiber  Zur nächsten ÜberschriftZur vorigen Überschrift

Connector/ODBC

Als (eine mögliche) Schnittstelle zwischen Visual Basic und MySQL wird ein ODBC-Treiber benötigt. Unter ODBC (Open Database Connectivity) versteht man eine Methode zum Zugriff auf verschiedene Datenbanksysteme über den jeweils passenden Treiber.

Der Treiber für MySQL nennt sich Connector/ODBC. Er kann auf der Internetseite von MySQL heruntergeladen werden, befindet sich aber auch auf der beiliegenden DVD. Die derzeit aktuelle Version ist 3.51.

ODBC-Datenquelle

Die Installation mithilfe der MSI-Installationsdatei mysql-connector-odbc-3.51.23-win32.msi verläuft in der Regel ohne Probleme. Nach der Installation findet sich der Treiber in der Liste der ODBC-Datenquellen, sichtbar über StartEinstellungenSystemsteuerungVerwaltungDatenquellen (ODBC) • Registerkarte Treiber:

Abbildung 8.40  Liste der ODBC-Datenquellen


Galileo Computing - Zum Seitenanfang

8.6.2 Datenquelle  Zur nächsten ÜberschriftZur vorigen Überschrift

Man hat nun zwei Möglichkeiten des Zugriffs auf eine Datenquelle:

    Fester DSN

  • Man kann einen festen DSN (Data Source Name) einrichten. Dabei werden die Daten der Verbindung zur Datenbank und notwendige Parameter fest gespeichert, und man muss im Visual Basic-Programm nur noch den DSN aufrufen, um eine Verbindung herzustellen.

    Flexibler Zugriff

  • Etwas umständlicher, aber flexibler ist der Zugriff, wenn man alle Verbindungsdaten erst in der Verbindungszeichenkette (Connection String) des Programms festlegt, ähnlich wie bei einer MS Access-Datenbank. Innerhalb eines Programms hat man dann aber die Möglichkeit, einzelne Parameter zu verändern.

Beide Möglichkeiten werden nachfolgend gezeigt.

Bevor man mit der Einrichtung eines DSN (und generell mit dem Zugriff auf eine MySQL-Datenbank) beginnt, sollte man sich vergewissern, dass der Datenbank-Server läuft.

System-DSN

Zur Einrichtung eines DSN wechselt man in der Liste der ODBC-Datenquellen (siehe Installation) auf die Registerkarte System-DSN. Diese DSNs stehen allen Benutzern des PCs zur Verfügung. Über den Button Hinzufügen gelangt man auf das Dialogfeld Neue Datenquelle erstellen. Hier wird der soeben installierte MySQL ODBC-Treiber ausgewählt:

Abbildung 8.41  Auswahl des Treibers

Anschließend gelangt man zu einer Eingabemaske für den Connector/ ODBC:

Abbildung 8.42  Parameter für Connector/ODBC

Folgende Einstellungen sind vorzunehmen:

    Data Source Name

  • Der frei wählbare »Data Source Name« muss festgelegt werden, damit die Datenbank im Programm über diesen Namen angesprochen werden kann. Hier ist dies odbc_firma. Es soll auf die MySQL-Datenbank firma zugegriffen werden. Diese ist der Einfachheit halber ebenso aufgebaut wie die gleichnamige MS Access-Datenbank.

    Server

  • Unter Server sollte der Name des Datenbank-Servers eingetragen sein. Wird dort nichts eingetragen, so wird auf den Server localhost zugegriffen. Dies ist auch der Wert nach einer MySQL-Standard-Installation.

    User

  • Bei User und Password werden Name und Passwort des Datenbank-Benutzers eingetragen. Der Normalbenutzer nach einer MySQL-Standard-Installation hat den Namen root und kein Passwort.

    Database

  • In der Liste Database kann der Name der gewünschten Datenbank ausgewählt werden.

Der DSN ist nun eingerichtet und kann benutzt werden.


Galileo Computing - Zum Seitenanfang

8.6.3 Datenbankzugriff mit Visual Basic  Zur nächsten ÜberschriftZur vorigen Überschrift

Der Ablauf eines Zugriffs erfolgt ähnlich wie für MS Access-Datenbanken. Nachfolgend werden eine Auswahlabfrage und eine Aktionsabfrage durchgeführt. Die Unterschiede zum Zugriff auf eine MS Access-Datenbank werden besonders hervorgehoben.

Zunächst das Ergebnis der Auswahlabfrage:

Abbildung 8.44  Auswahlabfrage

Der Code lautet:

Public Class frm0803 
   Private Sub cmdSehen_Click( ... ) Handles ... 
      Dim con As New Odbc.OdbcConnection 
      Dim cmd As New Odbc.OdbcCommand 
      Dim reader As Odbc.OdbcDataReader 
 
      ' con.ConnectionString = "DSN=odbc_firma" 
      con.ConnectionString = "Provider=MSDASQL;" _ 
         & "Driver={MySQL ODBC 3.51 Driver};" _ 
         & "Server=localhost;UID=root;" _ 
         & "database=firma" 
      cmd.Connection = con 
      cmd.CommandText = "select * from personen" 
 
      Try 
         con.Open() 
         reader = cmd.ExecuteReader() 
         lstTab.Items.Clear() 
         Do While reader.Read() 
            lstTab.Items.Add(reader("name") & " # " _ 
               & reader("vorname") & " # " _ 
               & reader("personalnummer") & " # " _ 
               & reader("gehalt") & " # " _ 
               & reader("geburtstag")) 
         Loop 
         reader.Close() 
         con.Close() 
      Catch ex As Exception 
         MsgBox(ex.Message) 
      End Try 
   End Sub 
[ ... ] 
End Class

Zur Erläuterung:

    Odbc

  • Die Objekte der Klassen OdbcConnection, OdbcCommand und OdbcDataReader aus dem Namespace Odbc entsprechen den Objekten der Klassen OleDbConnection, OleDbCommand und OleDbReader aus dem Namespace OleDb.
  • Sie werden für den Zugriff auf ODBC-Datenquellen benötigt.
  • In der Eigenschaft ConnectionString steht bei Benutzung eines fest eingerichteten DSN nur DSN=odbc_firma. Diese Version ist im obigen Codebeispiel auskommentiert.
  • Falls man die Verbindungszeichenkette selber zusammenstellt, sieht sie wie folgt aus:

    Provider

  • Provider=MSDASQL für »Microsoft Data Access SQL«
  • Driver={MySQL ODBC 3.51 Driver} für den installierten MySQL ODBC Treiber
  • Server=localhost für den MySQL-Server
  • UID=root für den Benutzernamen
  • database=firma für den Datenbanknamen
  • Der restliche Ablauf ist gleich geblieben.

Abbildung 8.45 zeigt das Ergebnis der Aktionsabfrage (nach anschließendem Betätigen des Buttons Sehen):

Abbildung 8.45  Aktionsabfrage

Der Code (ebenfalls in p0803):

Public Class frm0803 
[ ... ] 
   Private Sub cmdÄndern_Click( ... ) Handles ... 
      Dim con As New Odbc.OdbcConnection 
      Dim cmd As New Odbc.OdbcCommand 
      Dim anzahl As Integer 
 
      Try 
         con.ConnectionString = "DSN=odbc_firma" 
         cmd.Connection = con 
         cmd.CommandText = _ 
            "update personen set gehalt = gehalt * 1.05" 
         con.Open() 
 
         anzahl = cmd.ExecuteNonQuery() 
         MsgBox("Anzahl Datensätze geändert: " & anzahl) 
         con.Close() 
      Catch ex As Exception 
         MsgBox(ex.Message) 
      End Try 
    End Sub 
End Class

Zur Erläuterung:

  • Bei dieser Abfrage wird selbstverständlich kein Reader benötigt, da es sich um eine Aktionsabfrage ohne Abfrage-Ergebnis handelt.
  • Es wurde nur der Zugriff über den festen DSN genutzt. Möchte man die andere Version verwenden, so kann man die Verbindungszeichenkette der anderen Ereignisprozedur entnehmen.

Galileo Computing - Zum Seitenanfang

8.6.4 .NET-Treiber  topZur vorigen Überschrift

Connector/NET

Eine modernere Schnittstelle zwischen Visual Basic und MySQL bietet der Treiber Connector/NET. Er kann ebenfalls auf der Internetseite von MySQL heruntergeladen werden, befindet sich aber auch auf der beiliegenden DVD. Die derzeit aktuelle Version ist 5.0.8.1.

Verweis hinzufügen

Die Installation mithilfe der Installationsdatei mysql-connector-net-5.0.8.1.exe verläuft in der Regel problemlos. Nach der Installation muss man für das Projekt, in dem der Treiber genutzt werden soll, einen Verweis auf die Bibliotheken des Treibers einrichten. Hierzu geht man über den Menüpunkt ProjektVerweis hinzufügen. In der Liste findet sich die Komponente MySQL.Data.

Der Ablauf eines Zugriffs erfolgt ähnlich wie für MS Access-Datenbanken bzw. für MySQL-Datenbanken mit dem ODBC-Treiber. Nachfolgend werden nur die unterschiedlichen Befehlszeilen zum Aufbau der Verbindung erläutert:

[ ... ] 
   Dim con As New MySql.Data.MySqlClient.MySqlConnection 
   Dim cmd As New MySql.Data.MySqlClient.MySqlCommand 
   Dim reader As MySql.Data.MySqlClient.MySqlDataReader 
   con.ConnectionString = "Data Source=localhost;" _ 
      & "Initial Catalog=firma;UID=root" 
[ ... ]

Zur Erläuterung:

    MySqlClient

  • Die Objekte der Klassen MySQLConnection, MySQLCommand und MySQLDataReader aus dem Namespace MySql.Data.MySqlClient entsprechen den Objekten der Klassen OleDbConnection, OleDbCommand und OleDbReader aus dem Namespace OleDb.
  • Die Verbindungszeichenkette besteht aus den Elementen:
  • Data Source=localhost für den MySQL-Server
  • Initial Catalog=firma für den Datenbanknamen
  • UID=root für den Benutzernamen

Die restlichen Abläufe können den Programmen mit den anderen Datenbankzugriffen entnommen werden.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Einstieg in Visual Basic 2008






Einstieg in Visual Basic 2008
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Einstieg in Visual C++ 2008






 Einstieg in
 Visual C++ 2008


Zum Katalog: Einstieg in Visual C# 2008






 Einstieg in
 Visual C# 2008


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: Visual C# - Video-Training






 Visual C# -
 Video-Training


Zum Katalog: Einstieg in PHP 5 und MySQL 5






 Einstieg in PHP 5
 und MySQL 5


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de