2011-10-16 3 views
2

Est-ce que quelqu'un sait, comment afficher les bases de données en C#? Je sais que c'est possible en exécutant une commande sql show databases, mais je ne sais pas comment configurer le lecteur. Quelqu'un s'il vous plaît aidez-moi.Afficher les bases de données du serveur MySql

EDIT: J'ai trouvé une solution:

private void Window_Loaded(object sender, RoutedEventArgs e) 
    { 
     MySqlConnection con = new MySqlConnection(this.constr); 
     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(); 
       listBox1.Items.Add(row); 
      } 


     } 
     catch (MySqlException ex) 
     { 
      MessageBox.Show(ex.Number.ToString()); 
      MessageBox.Show(ex.Message); 
     } 

    } 
+0

voulez-vous voir le schéma de la base de données ????? –

Répondre

1
SqlConnection conn = new SqlConnection(ConnectionString); 

SqlCommand com = new SqlCommand ("show databases",conn); 
conn.Open(); 
SqlDataReader reader = com.ExecuteReader(); 
DataTable dt = new DataTable; 
dt.Load(reader); 
DataRows[] rows = dt.Rows; 

Pensez vous pouvez voir les lignes de données

Cela dit, si vous avez déjà la chaîne de connexion, il n'y a aucune raison de ne pas pour ouvrir MSqlServer ou quoi que ce soit et voir à partir de là ...

+0

Regardez, c'est mon erreur: http://prntscr.com/3iqhz Et je n'ai pas de 'DataRows []' dans un espace de noms System.Data. – user35443

+0

Oh c'est vrai. Je pense qu'il y a un "Get Rows" ou quelque chose comme ça. – Haedrian

+0

est-ce que foreach (Row row dans table.Rows) fonctionne? – Haedrian

4
string myConnectionString = "SERVER=localhost;UID='root';" + "PASSWORD='root';"; 
MySqlConnection connection = new MySqlConnection(myConnectionString); 
MySqlCommand command = connection.CreateCommand(); 
command.CommandText = "SHOW DATABASES;"; 
MySqlDataReader Reader; 
connection.Open(); 
Reader = command.ExecuteReader(); 
while (Reader.Read()) 
{ 
    string row = ""; 
    for (int i = 0; i < Reader.FieldCount; i++) 
     row += Reader.GetValue(i).ToString() + ", "; 
     comboBox1.Items.Add(row); 
} 
connection.Close(); 
+0

Impossible de voir la différence entre mon et votre solution, à l'exception de l'absence de bloc try-catch et de l'utilisation de combobox. – user35443

Questions connexes