#1 16. August 2010 Zuletzt von einem Moderator bearbeitet: 15. April 2017 C# mit mysql Datenbank verbinden Hallo, nutze Visual Studio 2010 und möchte ein Programm mit einer mysql Datenbank verbinden. Habe das Tutorial [.NET] [C#] How-To MySql Datenbank auslesen - RR:Board einmal nachgebastelt, aber trotzdem komme ich an einem Punkt nicht weiter. Beim erstellen eines neuen Objektes Code: private readonly MySql ad = new MySql(); meint er folgendes: Code: "MySql" ist ein(e) "Namespace", wird aber wie ein(e) "Typ" verwendet. Was mache ich falsch? Die dll ist im Verweis, benutzt wird diese Bib auch (using mysql.data). Vielen dank. + Multi-Zitat Zitieren
#2 16. August 2010 AW: C# mit mysql Datenbank verbinden Entweder das Tutorial wurde gar nicht wirklich durchgearbeitet, oder er nutzt eine andere .dll. Am besten machst du es so, dass du am anfang folgende using Direktive benutzt: Code: using MySql.Data.MySqlClient; Dann kannst du mit Code: private MySqlConnection conn; arbeiten. Hier ist ein viel besseres Tutorial: Verbindung zum MySQL-Server mit C# greez + Multi-Zitat Zitieren
#3 17. August 2010 AW: C# mit mysql Datenbank verbinden Hallo, vielen dank. Das Tutorial hat mir wirklich weitergeholfen. Ich habe jetzt die Datenbank lesen und ausgeben können. Nun möchte ich das ganze aber Übersichtlich in ein Datagrid ausgeben. Vom ersten Tutorial habe ich folgendes mir genauer angeschaut: Code: private void UpdateTableList() { listBoxTables.Items.Clear(); //Listbox leermachen DataTable data = ad.Query("SHOW TABLES"); //Mit diesem SQL befehl werden alle Tabellen abgefragt foreach (DataRow dr in data.Rows) //jede DataRow also Tabelle wird zur Listbox hinzugefügt { listBoxTables.Items.Add(dr.ItemArray[0].ToString()); } } Da das ja mit der dll nicht funktioniert, weiss ich nicht genau wie ich die Werte in ein Datagrid einfügen kann. Code: DataTable data = conn....("SELECT * FROM `Bestellungen` WHERE 1"); Danke schön. + Multi-Zitat Zitieren
#4 17. August 2010 AW: C# mit mysql Datenbank verbinden Code: String sql = "SELECT * FROM tableName"; DataTable datatable= new DataTable(); SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection); dataAdapter.Fill(datatable); dataGridView.DataSource = datatable; dataGridView.Show(); gruß + Multi-Zitat Zitieren
#5 17. August 2010 AW: C# mit mysql Datenbank verbinden Danke schön, aber das haut nicht ganz hin, er meint bei der Zeile: Code: SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection); folgenden Fehler: Code: Fehler 2 Die beste Übereinstimmung für die überladene System.Data.SqlClient.SqlDataAdapter.SqlDataAdapter(string, System.Data.SqlClient.SqlConnection)-Methode hat einige ungültige Argumente. Dann hab ich "connection" mal gegen "myConnectionString" getauscht, fehler war weg - jedoch schmiert das Programm beim starten ab. Hier der komplette code ohne die Veränderung: Code: namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void button1_Click(object sender, EventArgs e) { string myConnectionString = "SERVER=EDIT;" + "DATABASE=EDIT;" + "UID=EDIT;" + "PASSWORD=EDIT;"; MySqlConnection connection = new MySqlConnection(myConnectionString); String sql = "SELECT * FROM Bestellungen"; DataTable datatable = new DataTable(); SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection); // Hier der Fehler dataAdapter.Fill(datatable); dataGridViewAusgabe.DataSource = datatable; dataGridViewAusgabe.Show(); } } } + Multi-Zitat Zitieren
#6 17. August 2010 AW: C# mit mysql Datenbank verbinden probier mal anstatt MySqlConnection die SqlConnection klasse, also: SqlConnection connection = new SqlConnection(myConnectionString); + Multi-Zitat Zitieren
#7 17. August 2010 AW: C# mit mysql Datenbank verbinden Dann zeigt er kein Fehler an, jedoch schmiert das Programm ab. Dann habe ich eine Exception benutzt und die Fehlermeldung lautet er kann nicht zum Server verbinden. Habe es erneut ohne datagrid versucht und mit der MySqlConnection Klasse, da erhält er dann eine Verbindung. Ist die SqlConnection eigentlich für mysql oder für die dbms von microsoft? Komme einfach nicht weiter. + Multi-Zitat Zitieren
#8 17. August 2010 AW: C# mit mysql Datenbank verbinden Beginners guide to accessing SQL Server through C# - CodeProject + Multi-Zitat Zitieren
#9 18. August 2010 AW: C# mit mysql Datenbank verbinden Hallo, habs hinbekommen, wenns jemanden interessiert, hier ist nochmal der code: Code: string myConnectionString = "Data Source=XXX;" + "DATABASE=XXX;" + "UID=XXX;" + "PASSWORD=XXX;"; MySqlConnection connection = new MySqlConnection(myConnectionString); String sql = "SELECT * FROM `Bestellungen` WHERE 1"; DataTable datatable = new DataTable(); MySqlDataAdapter dataAdapter = new MySqlDataAdapter(sql, connection); //Hier war der Fehler, habe ein Objekt der Klasse SqlDataAdapter und nicht der Klasse MySqlDataAdapter erstellt gehabt, kleinigkeit mit viel wirkung :) dataAdapter.Fill(datatable); dataGridViewAusgabe.DataSource = datatable; dataGridViewAusgabe.Show(); Hallo nochmal, weiss jemand wie man das möglichst einfach regelt Daten vom datagrid wieder in die Datenbank zu laden? Update / Insert? Mfg + Multi-Zitat Zitieren
#10 4. September 2010 AW: C# mit mysql Datenbank verbinden also grundsätzlich funkioniert das genauso wie, wenn du ins DataGrid was reinschreibst statt sql-String: "select...." schreibst du einfach "update tabelle...", dabei musst du aber die neuen werte aus dem Grid ansteuern und als parameter in diesem sql-string übergeben. + Multi-Zitat Zitieren