Abou Chleih

{the magic lies between the brackets}

Menu Close

C#/MySQL Alle MySQL Datenbanken auslesen

Ich wollte heute folgende Aufgabe lösen:
Lese alle erstellten MySQL-Datenbanken auf dem Host aus und füge sie einer comboBox hinzu. Im Endeffekt wird dies durch folgenden Code erledigt:

database_comboBox.Items.Clear();
string connectionstring = "SERVER=" + host_textBox.Text + ";" + "UID=" + User_textBox.Text + ";" + "PASSWORD=" + password_textBox.Text+ ";";
MySqlConnection con = new MySqlConnection(connectionstring);
MySqlCommand cmd = con.CreateCommand();
cmd.CommandText = "show databases";
try
{
     con.Open();
     MySqlDataReader reader = cmd.ExecuteReader();
     while (reader.Read())
     {
           string row = "";
           for (int i = 0; i < reader.FieldCount; i++)
                    row += reader.GetValue(i).ToString();
           database_comboBox.Items.Add(row);
     }
     database_comboBox.DroppedDown = true;
}
catch (MySqlException ex)
{
     MessageBox.Show(ex.Message,ex.Source,MessageBoxButtons.OK,MessageBoxIcon.Error);
}

Im connectionstring werden der Host und die Credentials angegeben. In der Regel wird auch die Datenbank angegeben(in unserem Fall natürlich nicht)
MySQL-Command wird logischerweise der SQL-Query angegeben.