tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
2641
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    timee timee ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    36
    Hallo Leute,

    bin absoluter neuling, wenn es darum geht mit VB.NET eine Datenbank zu bearbeiten!
    Alle Anleitungen und Bücher die ich bis jetzt darüber gelesen habe, handeln nur von Access und MS SQL Server, jedoch nicht von MySQL!

    Nun finde ich hier keine Anleitung, die mir zeigt wie ich mirch zu einem MySQL Server verbinden kann und wie ich dort Kommandos ausführen kann, hoffe nun auf eure kompetente Hilfe.

    Visual Studio 2005
    XAMPP mit MySQL auf localhost
    Datenbank und erste Tabelle bereits über phpmyadmin angelegt
    benutzter für vb.net eingerichtet


    thx
    timee
     

  2. #2
    timee timee ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    36
    heute habe ich noch etwas das netz durchforstet und anschliessend den mysql connector / net installiert.

    MySQL.Data in die Verweisliste hinzugefügt und wollte anschliessend die verbindung testen, doch leider bekomme ich keine zustande!

    zum testen der verbindung habe ich folgenden code geschrieben:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    Try
                Dim con As New SqlConnection
                con.ConnectionString = "Data Source=localhost;" & "Initial Catalog=dbname;" & "User IDusernamei;" & "Password=userpwd;"
                con.Open()
    Catch ex As Exception
                MsgBox("Fehler beim verbinden mit der datenbank")
    End Try

    wie kann ich mich richtig an meiner MySQL Datanbank anmelden?

    thx
    timee
     

  3. #3
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi und herzlich willkommen

    Aber zum einen hast du den SqlConnector genutzt, also den für den Sql Server
    Zum anderen solltest du dir den Inhalt der Exception anschauen, da würde nämlich drin stehen, dass der Sql Server nicht gefunden wurde

    Und noch 2 Hinweise:
    Zum einen fehlt in deinem ConnectionString ein =-Zeichen und zum anderen ist die String-Verkettung die du da machst sehr teuer! Zumal du sie da nicht benötigst.
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  4. #4
    Avatar von JensG
    JensG JensG ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Ort
    Gera (Thüringen)
    Beiträge
    517
    Hallo timee,

    das einzige was du richtig gemacht hast ist das Einbinden der
    MySQL.Data.dll

    Du nutzt diese aber nicht, stattdessen den SQL Provider des Frameworks und dessen Connectionstring bzw. den vom SQL Server. Das kann nicht funktionieren.

    Importiere

    Imports MySql.Data.MySqlClient

    und nutze

    Private Conn As MySqlConnection

    Der mysql Connectionstring sieht etwa so aus:

    SERVER=deinServer z.B. localhost;DATABASE=deineDatenbank;uid=Benutzer;
    pwd=deinPassword;Connection Timeout=Zeit in Sekunden; logging=True;Pooling=False;port=3306 (kann abweichen aber 3306 ist Standard);

    XAMPP hättest du gar nicht installieren brauchen, MySQL kann auch
    einzeln installiert werden und zum Administrieren unter Windows
    gibt es andere Tools als phpmyadmin. Siehe Tools auf der mysql AB Seite.

    Es sei denn du hast noch andere Anwendungen laufen die Apache,php usw.
    lokal benötigen. Wenn nicht ist es sinnloser Ballast, der das System bremst.


    Jens
     
    Hilfreiche Posts bitte bewerten !

  5. #5
    timee timee ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    36
    Na dann bin ich ja froh, dass ich wenigsten die MySQL.Data richtig eingebunden habe!

    Leider funktioniert es irgendwie immer noch nicht?
    Bei der Ausführung bekomme ich folgendes Ergebnis in der Fehlerliste angezeigt:
    bei System.Threading.ThreadHelper.ThreadStart()</ExceptionString><DataItems><Data><Key>HelpLink.ProdName</Key><Value>Microsoft SQL Server</Value></Data><Data><Key>HelpLink.EvtSrc</Key><Value>MSSQLServer</Value></Data><Data><Key>HelpLink.EvtID</Key><Value>2</Value></Data><Data><Key>HelpLink.BaseHelpUrl</Key><Value>http://go.microsoft.com/fwlink</Value></Data><Data><Key>HelpLink.LinkId</Key><Value>20476</Value></Data></DataItems></Exception></TraceRecord>
    Eine Ausnahme (erste Chance) des Typs "System.Data.Odbc.OdbcException" ist in System.Data.dll aufgetreten.
    Eine Ausnahme (erste Chance) des Typs "System.NullReferenceException" ist in test.exe aufgetreten.
    Eine Ausnahme (erste Chance) des Typs "System.NullReferenceException" ist in DBtest.exe aufgetreten.
    Eine Ausnahme (erste Chance) des Typs "System.NullReferenceException" ist in DBtest.exe aufgetreten.
    eingegeben habe ich folgenden code zum testen der verbindung:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    Imports MySql.Data.MySqlClient
     
    Public Class Form1
        Private Conn As MySqlConnection
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ReadData()
        End Sub
     
        Sub ReadData()
            Try
                Conn.ConnectionString = "SERVER=localhost;DATABASE=shopi;uid=root;Connection Timeout=30;logging=True;Pooling=False;port=3306;"
                Conn.Open()
            Catch ex As Exception
                MsgBox("Fehler beim verbinden mit der datenbank")
            End Try
        End Sub
     
    End Class
     

  6. #6
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Du musst dein Connection-Objekt aus instantiieren!

    Unter http://www.galileocomputing.de/katal...902A3-f85-ED88 findest du ein gutes Buch zum Einstieg. Das solltest du dir genauer anschauen!
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  7. #7
    timee timee ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    36
    Jo, hatte doch vergessen NEW mit einzufügen!

    Die Verbindung kommt nun zumindest mal zusammen.
    Hab mir auxh schon zwei Bücher über ADO.NET bei terrashop bestellt, doch leider kann ich so lange dann nicht an meinem PRojekt weiterarbeiten.

    Wie müsste es den aussehen, wenn ich das Ergebnis des Befehls "SELECT name from user WHERE id=1;" in TextBox1 stehen haben will?

    big THX
    timee
     

  8. #8
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Du hättest dir den Link wenigstens mal anschauen können! Das sind nämlich kostenlose e-Books!

    Du solltest dich schon damit beschäftigen. Die Suchfunktion würde dir übrigens auch eine Antwort liefern!
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  9. #9
    timee timee ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    36
    Natürlich habe ich mir deinen Link angesehen, aber dort finde ich nur ein eBook über Visual Basic 2008 und mit ADO.NET findet er auch nichts.
    Wie bereits geschrieben, habe ich mir auch zwei Bücher bei Terrashop bestellt, nur würde ich gerne etwas weiter machen bis diese eintreffen.
     

  10. #10
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    VB.NET = Visual Basic.NET die Jahreszahl ist dabei uninteressant.
    VB 2002/2003, VB 2005 VB 2008 ist alles VB.NET.
    Die Angabe der Jahreszahl verdeutlicht nur, mit welcher Version von Visual Studio die Version der Sprache releast wurde. Dabei hat sich abe der Kern nicht geändert.
    Das Buch für VB 2005 ist übrigens auch noch verfügbar

    @ADO.NET
    http://openbook.galileocomputing.de/....htm#Xxx999339

    @Frage mit TextBox
    Schau dir dafür die Command- und die DataReader-Klasse mal an, die helfen dir dabei
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  11. #11
    timee timee ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    36
    Im GalileoComputing openebook wird mit ODBC zum SQL Sever connectet, sind über connect/NET die Funktionen und Methoden gleich?
     

  12. #12
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Ja sind sie. Die Klassen basieren alle auf der gleichen abstrakten Basisklasse. Sind nur auf die speziellen Fälle (Sql Server, ODBC, OleDb, MySQL, ...) angepasst
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  13. #13
    timee timee ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    36
    Ich danke euch schon mal alle für das Tapfer beistehen und helfen bei meinen ersten Gehversuchen mit ADO.NET

    anbei natürlich noch eine kleine frage
    will den inhalt des feldes name aus der tabelle user in einem textfeld haben!
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    
    Imports MySql.Data.MySqlClient
     
    Public Class Form1
        Dim Con As New MySqlConnection
        Dim sqlConnString As String = "SERVER=localhost;DATABASE=shopi;uid=root;Connection Timeout=30;logging=True;Pooling=False;port=3306;"
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            connectiontest()
        End Sub
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            auslesen()
        End Sub
     
        Sub connectiontest()
            Try
                Con.ConnectionString = sqlConnString
                Con.Open()
                'Verbindungsstatus:
                If Con.State = ConnectionState.Open Then
                    TextBox1.Text = "Verbindung zum Server war erfolgreich."
                Else
                    TextBox1.Text = "Verbindung zum Server war NICHT erfolgreich."
                End If
            Catch ex As Exception
                MsgBox("Fehler beim verbinden mit der datenbank")
            End Try
            Con.Close()
        End Sub
     
        Sub auslesen()
            Try
                Dim strSQL As String = "SELECT name from user WHERE id='1';"
                Con.ConnectionString = sqlConnString
                Con.Open()
                Dim cmd As MySqlCommand = New MySqlCommand(strSQL, Con)
                Dim ergebnis As String
                ergebnis = cmd.ExecuteNonQuery
            Catch ex As Exception
                MsgBox("Fehler beim auslesen der datenbank")
            End Try
            Con.Close()
        End Sub
    End Class


    thx
     

  14. #14
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    ExecuteNonQuery ist dafür die falsche Methode.
    Nutze dafür ExecuteReader oder wenn du sicher bist, dass genau ein Datum zurück kommt ExecuteScalar
    ExecuteReader liefert dir eine DataReader zurück, von dem du dir die entsprechenden Werte geben lassen kannst.
    ExecuteScalar liefert genau einen Wert zurück.
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

Ähnliche Themen

  1. Mit MySQL in Eclipse verbinden
    Von pabatribick im Forum Java
    Antworten: 6
    Letzter Beitrag: 08.12.09, 13:20
  2. XML Abfrage und MySQL verbinden?
    Von wownoxer im Forum PHP
    Antworten: 1
    Letzter Beitrag: 19.05.08, 14:22
  3. MYSQL > 2 Queries verbinden
    Von ahykes im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 02.08.07, 06:26
  4. Software: Mysql Administrator, kann nicht mit mysql verbinden
    Von wingman im Forum Hosting & Webserver
    Antworten: 9
    Letzter Beitrag: 26.02.05, 19:00
  5. mysql tabellen verbinden
    Von dreambaser im Forum PHP
    Antworten: 3
    Letzter Beitrag: 16.02.05, 18:04

Stichworte