tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
22351
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Mircot
    Mircot Mircot ist offline Mitglied Bronze
    Registriert seit
    Mar 2005
    Beiträge
    36
    Hallo Leute...

    Ich suche eine Möglichkeit unter C# eine Verbindung zu einem MySQL Datenbankserver und einer Datenbank herzustellen. Hat jemand eine Idee oder ein Beispiel

    Mfg Mirco
     

  2. #2
    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,

    das müsste dir weiterhelfen:
    MySQLDataAdapter Class
     
    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

  3. #3
    MFC openGL MFC openGL ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    483
    Hi,

    habe das gleiche Problem, und schon auf der Website geschaut, aber ich bekomme bei dem Code von dort immer die Fehlermeldung das er MySqlConnection und MySqlDataAdapter nicht kennt. Oder muss man einen der Connector installieren ? Gibts da nen anderen Weg ?

    Ich vermute mal mir fehlt ein using, daher hier mal meine :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
     [size=2][color=#0000ff]
    using[/color][/size][size=2] System;
     
    [/size][size=2][color=#0000ff]using[/color][/size][size=2] System.Data.SqlClient;
     
    [/size][size=2][color=#0000ff]using[/color][/size][size=2] System.Data;
     
    [/size][size=2][color=#0000ff]using[/color][/size][size=2] System.Drawing;
     
    [/size][size=2][color=#0000ff]using[/color][/size][size=2] System.Collections;
     
    [/size][size=2][color=#0000ff]using[/color][/size][size=2] System.ComponentModel;
     
    [/size][size=2][color=#0000ff]using[/color][/size][size=2] System.Windows.Forms;
     
    [/size]

    Kann mir da einer weiterhelfen, wie ich die Verbindung zustande bekomme ?

    Mein bisheriger Code für die Connection sieht so aus :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
     [size=2]
    IDbConnection dbcon;
     
    dbcon = [/size][size=2][color=#0000ff]new[/color][/size][size=2] MySqlConnection([size=2]
     
    "Database=2Manage;Data Source=localhost;User Id=xxx;Password=xxx;"
     
    [/size]);
     
    dbcon.Open();
     
    IDbCommand dbcmd = dbcon.CreateCommand();
     
    dbcmd.CommandText = "INSERT INTO `MWST` ( `MWST` ) VALUES ( '16.00' );";
     
    dbcon.Close();
     
    [/size]

    Oder den hier habe ich auch getestet :

    Code :
    1
    
    MySqlConnection conn =
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    [size=2][color=#0000ff]new[/color][/size][size=2] MySqlConnection("Database=2Manage;Data Source=localhost;User Id=xxx;Password=xxx;");
    MySqlDataAdapter adapter = [/size][size=2][color=#0000ff]new[/color][/size][size=2] MySqlDataAdapter();
     
    adapter.SelectCommand = [/size][size=2][color=#0000ff]new[/color][/size][size=2] MySqlCommand("INSERT INTO `MWST` ( `MWST` ) VALUES ( '16.00' );", conn);
     
    adapter.Fill(dataset);
     
    conn.Close();
     
    [/size]

    Brauche Hilfe...



    Danke und Gruss

    MFC OpenGL
     
    Sprache : C/C++/C# & MFC
    Compiler : MSVC++ 7 / VS2003.net
    OS : Windows XP/2k

  4. #4
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Ja, den DataProvider musst du noch installieren, wenn du das nicht getan hast. Gibts auf der MySql-Homepage zum kostenlosen Download.
     

  5. #5
    MFC openGL MFC openGL ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    483
    Ok, hab ich installiert.

    Benutze jetzt folgenden Code, für alle die auch ein Problem damit 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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    
     [size=2]
    MySqlConnection conn = [/size][size=2][color=#0000ff]null[/color][/size][size=2]; 
     
    MySqlDataReader reader = [/size][size=2][color=#0000ff]null[/color][/size][size=2]; 
     
    conn = [/size][size=2][color=#0000ff]new[/color][/size][size=2] MySqlConnection("Database=dbname;Data Source=localhost;User Id=xxx;Password=xxx;"); 
     
    conn.Open(); 
     
    MessageBox.Show("TEST","TEST");
     
    txtboxUser.Text = conn.State.ToString();
     
    MessageBox.Show("TEST","TEST");
     
     
     
    MySqlCommand cmd = [/size][size=2][color=#0000ff]new[/color][/size][size=2] MySqlCommand("SELECT MWST FROM mwst WHERE MWSTID = 1;", conn); 
     
    [/size][size=2][color=#008000]//MySqlCommand cmd = new MySqlCommand("select `MWST` from `MWST` where `MWSTID` = `?Id`", conn); 
     
    /*
     
    MySqlParameter param = new MySqlParameter(); 
     
    param.ParameterName = "?Id"; 
     
    param.Value = "1"; 
     
    cmd.Parameters.Add(param); 
     
    */
     
    [/color][/size][size=2]reader = cmd.ExecuteReader(); 
     
    [/size][size=2][color=#0000ff]while[/color][/size][size=2] (reader.Read()) 
     
    { 
     
    txtboxDBName.Text = reader["MWST"].ToString(); 
     
    } 
     
    [/size][size=2][color=#0000ff]if[/color][/size][size=2] (reader != [/size][size=2][color=#0000ff]null[/color][/size][size=2]) 
     
    { 
     
    reader.Close(); 
     
    } 
     
    [/size][size=2][color=#0000ff]if[/color][/size][size=2] (conn != [/size][size=2][color=#0000ff]null[/color][/size][size=2]) 
     
    { 
     
    conn.Close(); 
     
    } 
     
    [/size]


    Danke nochmal....

    Gruss

    MFC OpenGL
     
    Sprache : C/C++/C# & MFC
    Compiler : MSVC++ 7 / VS2003.net
    OS : Windows XP/2k

  6. #6
    Avatar von Mircot
    Mircot Mircot ist offline Mitglied Bronze
    Registriert seit
    Mar 2005
    Beiträge
    36
    Ich bekomm es nicht hin..

    Habe den Connector heruntergeladen und installiert. Leider weis ich nicht was ich hinter using schreiben soll, damit ich auf die MySQL Klasse zugreifen kann.

    Im Visual Studio habe ich es eingeschaltet als tool.

    Irgendwas mach ich falsch......
     

  7. #7
    llREAPERll llREAPERll ist offline Mitglied
    Registriert seit
    May 2004
    Beiträge
    11
    Habe das selbe problem wie ihr. könnt ihr mir bitte sagen welchen DataProvider ich genau downloaden muß und wie ich ihn nchdem ich ihn installiert habe ins projekt einbinde?
    vielen dank im voraus
     

  8. #8
    MFC openGL MFC openGL ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    483
    Hi,

    ich hatte den "odbc_net.msi" und den "MDAC_TYP.exe" Treiber von microsoft.com runtergeladen. Damit funktioniert der von mir oben angegebene Code.

    Gruss

    MFC OpenGL

    EDIT :

    http://dev.mysql.com/doc/mysql/en/co...e-adapter.html

    Das könnte auch der Grund für das Funktionieren des Codes gewesen sein
    Also eins der 3 Dateien ist es...
    Geändert von MFC openGL (31.10.05 um 16:16 Uhr)
     
    Sprache : C/C++/C# & MFC
    Compiler : MSVC++ 7 / VS2003.net
    OS : Windows XP/2k

  9. #9
    llREAPERll llREAPERll ist offline Mitglied
    Registriert seit
    May 2004
    Beiträge
    11
    ich habe beides runtergeladen und installiert nur funktioniert es immer noch nicht.
    ich glaube ich habe irgendetwas nicht eingebunden. bitte schaut euch mal den code an

    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
    
    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.Data.Odbc;
    ...
    ...
    ...
            private void Anmelden_Button_Click(object sender, System.EventArgs e)
            {
                benutzer = Benutzer_TextBox.Text.ToString();
                passwort = Passwort_TextBox.Text.ToString();
                
                MySqlConnection connection = new MySqlConnection();
                connection.ConnectionString = " DataBase = kontakt; Data Source = localhost; User ID = benutzer; Password = passwort";
                try
                {
                    connection.Open();
                    if (connection.State == ConnectionState.Open)
                    {
                        Fehler_Label.Text = "Verbindung erfolgreich";
                        connection.Close();
                    }
                }
                catch (Exception exception)
                {
                    Fehler_Label.Text = exception.Message;
                    connection.Close();
                }
            }
        }
    }

    als fehler bekomme ich immer "Der Typ oder Namespace 'MySqlConnection' konnte nicht gefunden werden. Möglicherweise fehlt eine Anweisung oder ein Assemblyverweis."
    bitte sagt mir was ich falsch mache.

    DANKE
     

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

    das kann doch nicht so schwer sein.
    Übrigens die mdac_typ.exe gibt es in verschiedenen Versionen und diese installiert bis Version 2.5 ADO und die Jet Engine für den Zugriff auf Access (also Jet) und nix anderes.
    Ab 2.6 wird nur noch ADO installiert ohne Jet.
    Also kein ADO.NET
    Die ist also nicht notwendig für einen MySQL Zugriff über .NET.

    Und warum die odbc_net.msi installieren ? Ich habe das Teil nicht getestet. Es macht auch keinen Sinn auf MySQL über ODBC zuzugreifen wenn es gute Native Treiber gibt.
    Der in den vorherigen Posts gezeigte Code mit dem ODBC Treiber wohl eher nicht und ist eh Uralt.

    Der offizielle MySQL .NET Connector ist Connector/Net 1.0

    Diese msi datei muss installiert werden und dabei wird unter anderem eine mysql.data.dll
    installiert die eingebunden werden muss um auf MySql.Data.MySqlClient zugreifen zu können.

    Das ganze wird dann in VB.NET mit

    Imports MySql.Data.MySqlClient

    eingebunden

    und in C#

    Using MySql.Data.MySqlClient

    Damit steht einem dann alles zur Verfügung. Einziger Nachteil ist der das man
    die Verbindung nicht mit dem Klicki Klicki Designer (in VB.NET, C# weiß ich nicht) zur Entwurfszeit machen kann aber das muss nicht sein.

    Jens
     

  11. #11
    MFC openGL MFC openGL ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    483
    "

    using
    MySql.Data.MySqlClient; "

    Das fehlt bei dir, dann erkennt der auch die SQL Befehle


    @Jens ja, die ODBC braucht man nicht...wenn man aber über ODBC Zugriff auf die Datenbank haben muss, weil z.b. ein anderer bereits bestender Teil auf ODBC beruht, dann brauchste das wohl Wollte auch nur die Möglichkeit mit angeben...
    Geändert von MFC openGL (21.10.05 um 10:09 Uhr)
     
    Sprache : C/C++/C# & MFC
    Compiler : MSVC++ 7 / VS2003.net
    OS : Windows XP/2k

  12. #12
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Hallo Tutorialer!

    Evtl noch was informatives dazu.
    MYSQL verbindung - Thread

    MfG, cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  13. #13
    IQ100 IQ100 ist offline Mitglied Bronze
    Registriert seit
    Dec 2006
    Ort
    Dresden
    Beiträge
    38
    He leute, hab da auch ein Problem

    Wenn ich mein Programm mit lokalen einstellungen Starte geht alles wunderbar aber sobald ich einen externen Benutzer einstelle erhalte ich immer:

    Host 'INTERNETPROVIDER' is not allowed to connect to this MySQL server (bei der funktion conn.Open())

    MySQL-Rechte sind richtig eingestellt ... und wieso mein Internetprovider damit Probleme hat weis ich nicht, anbei bemerkt nutze ich Alice.

    Brauche ich vllt. eine Funktion zur Internetherstellung? Dachte eigentlich das dass der Connekter übernimmt
     

  14. #14
    Dragosani Dragosani ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Ort
    Dexter's Laboratory
    Beiträge
    115
    Bist Du Dir sicher, dass Du Die Rechte auf Seiten der MySQL richtig eingestellt hast? Sieht für mich ganz klar nach einem Rechteproblem aus.
     

  15. #15
    nostral nostral ist offline Mitglied Bronze
    Registriert seit
    Feb 2005
    Beiträge
    28
    Zitat Zitat von IQ100 Beitrag anzeigen
    He leute, hab da auch ein Problem

    Wenn ich mein Programm mit lokalen einstellungen Starte geht alles wunderbar aber sobald ich einen externen Benutzer einstelle erhalte ich immer:

    Host 'INTERNETPROVIDER' is not allowed to connect to this MySQL server (bei der funktion conn.Open())

    MySQL-Rechte sind richtig eingestellt ... und wieso mein Internetprovider damit Probleme hat weis ich nicht, anbei bemerkt nutze ich Alice.

    Brauche ich vllt. eine Funktion zur Internetherstellung? Dachte eigentlich das dass der Connekter übernimmt
    Hi,
    was verstehst Du unter externen Benutzer? Willst du auf die Datenbank im Internet zugreifen oder von aussen lokal auf deinen Rechner?
     
    Mfg

    Nostral

Ähnliche Themen

  1. Verbindung zum MySql Server wird nicht geschlossen!
    Von mimoun im Forum .NET Datenverwaltung
    Antworten: 5
    Letzter Beitrag: 18.05.10, 14:10
  2. Probleme mit der Verbindung zu einem MySQL-Server
    Von Zyler im Forum .NET Datenverwaltung
    Antworten: 1
    Letzter Beitrag: 28.01.08, 08:56
  3. DBDesigner 4: Verbindung zur remote database nicht möglich
    Von Radhad im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 01.12.06, 13:47
  4. Ich kann über MySQLFront keine Verbindung zum MySQL-Server herstellen
    Von messmar im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 11.07.04, 17:39
  5. Antworten: 0
    Letzter Beitrag: 06.06.04, 17:36