Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie kann ich meine C# Anwendung an eine MySQL Datenbank verbinden?
hauchian
myCSharp.de - Member



Dabei seit:
Beiträge: 1

Themenstarter:

Wie kann ich meine C# Anwendung an eine MySQL Datenbank verbinden?

beantworten | zitieren | melden

Hallo zusammen,

bekomme die Mitteilung woran könnte das liegen? Datenbank würde schon mit Mysql verbunden
Vielen Dank im voraus :)
Hab leider wenig Ahnung mit C#


string connection = "datasource=localhost; port=3306;username=root;password=root;";
  MySqlCommand cmd = new MySqlCommand("insert into Kontaktdaten(Teamnamen, Vorname, Nachname, Ort, PLZ, Straße, Email) values('" + this.Teamnamen1.Text + "', '" + this.Vorname1.Text + "','" + this.Nachname1.Text + "','" + this.Ort1.Text + "','" + this.PLZ1.Text + "','" + this.Straße1.Text + "','" + this.Email1.Text + "');");
  MySqlConnection dataBase = new MySqlConnection(connection);
  
  // MySqlCommand cmd = new MySqlCommand(dataBase);
  // MySqlParameter param = new MySqlParameter("?", Teamnamen1);
  // cmd.Parameters.Add(param);
  
  MySqlDataReader r;
  
  try
  {
    conDataBase.Open();
    r = cmd.ExecuteReader();
    MessageBox.Show("erfolgreich");
  
  cmd.ExecuteNonQuery();
  }
  catch (Exception ex)
  {
    MessageBox.Show(ex.Message);
  }
  finally
  {
    conDataBase.Close();
  }
}
private Nachricht | Beiträge des Benutzers
Lars Schmitt
myCSharp.de - Experte

Avatar #avatar-2240.jpg


Dabei seit:
Beiträge: 2335
Herkunft: Witten

beantworten | zitieren | melden

Hallo hauchian,

so wie es aktuell aussieht kennt dein MySqlCommand die Connection nicht

der Konstruktor vom MySqlCommand hat eine Überladung mit der Query und einer Connection
das sollte zumindest schonmal ausreichen das dein Code funktioniert.

des weiteren, versuche bitte so wie du es ja auch schon angedeutet hast, bei den SQL Queries auf den Parameter Weg zu setzen anstatt einzelne Strings zu Konkatenieren , da du damit unter anderem so etwas wie SQL Injection verhindern kannst.

Bei einem Insert nutzt man eigentlich nicht die Methode ExecuteReader, da diese eher für Select Queries benutzt wird, versuche es lieber mit ExecuteNonQuery()

Bitte denke zukünftig daran, beim Quellcode auch die Code Tags zu benutzen
das Hilft beim lesen ungemein.
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Lars Schmitt am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16110

beantworten | zitieren | melden

Dein Connectionstring ist ungültig.
So wird er für MySQL nie funktionieren -> https://www.connectionstrings.com/mysql/

Ansonsten ist Dein Command genau so aufgebaut, wie man es NICHT tun sollte.
[Artikelserie] SQL: Parameter von Befehlen

Was noch auffällt:
- Deine Verbindung heisst database aber Du arbeitest mit conDatabase.
Das ist Dir bewusst, oder hast den Überblick verloren? ;-)
- Dein Command hat keine Verbindung zugeordnet (was vermutlich (neben den anderen Fehlern) die Exception auslöst)
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers