2010-08-10 7 views

Répondre

2

Voici le code (vous pouvez vouloir vérifier les détails d'ici: http://dataconnectionsuite.codeplex.com/SourceControl/changeset/view/57274#1206522)

 try 
     { 
      this.databasesComboBox.Items.Clear(); 
      this.databasesComboBox.Items.Add("Please wait while loading available databases..."); 
      DataTable tables = new DataTable("Tables"); 
      using (IDbConnection connection = this.GetConnection()) 
      { 
       IDbCommand command = connection.CreateCommand(); 
       command.CommandText = "SELECT * FROM sys.Databases"; 
       connection.Open(); 
       tables.Load(command.ExecuteReader(CommandBehavior.CloseConnection)); 
      } 
      this.databasesComboBox.Items.Clear(); 
      foreach (DataRow row in tables.Rows) 
       this.databasesComboBox.Items.Add(row[0].ToString()); 
     } 
     catch (SqlException) 
     { 
      this.databasesComboBox.Items.Clear(); 
      this.databasesComboBox.Items.Add("Connection error. Check server & credentials"); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error while loading available databases: " + ex.ToString()); 
     } 
     finally 
     { 
      DatabaseListCreating = false; 
     } 
+0

merci ... il a résolu. – Farna

+0

Vous êtes les bienvenus –

4

La commande SQL suivante vous obtiendra tous les noms des bases de données sur le serveur où il est exécuté. Pour plus d'informations, remplacez name par *.

SELECT name 
    FROM sys.databases 
2

La méthode la plus indépendante de la plate-forme consiste à interroger le information_schema. SQL Server offre également une gamme de tables/vues système pouvant être utilisées dans le même but. ils offrent plus d'informations (en particulier SQL Server spécifique), mais ils ne sont pas portables, même pas à travers différentes versions de SQL Server.

Questions connexes