C# 如何使用ADO.net在一个选择框中检索所有数据库名称?

C# 如何使用ADO.net在一个选择框中检索所有数据库名称?,c#,ado.net,C#,Ado.net,In数据库包含50个数据库(adventureworks、adventureworksDw、sampleDb…) 如何使用ADO.net在一个选择框中检索所有数据库名称 你能帮帮我吗?有什么解决办法吗 谢谢 Rajasekhar在数据访问层中,您应该使用 Select name from sys.databases 您可以将返回的对象作为数据源放置在dropdownlist中,并记住为ddl调用databind 找到了这个老程序,对我来说很好 public void PopulateDatab

In数据库包含50个数据库(adventureworks、adventureworksDw、sampleDb…)

如何使用ADO.net在一个选择框中检索所有数据库名称

你能帮帮我吗?有什么解决办法吗

谢谢


Rajasekhar

在数据访问层中,您应该使用

Select name from sys.databases

您可以将返回的对象作为数据源放置在dropdownlist中,并记住为ddl调用databind

找到了这个老程序,对我来说很好

public void PopulateDatabaseNames(string connectionString, ComboBox cboDBNames)
{
    SqlDataAdapter da = null;
    SqlCommand cmd = null;
    SqlConnection cnn = null;
    try
    {
        using(cnn = new SqlConnection(connectionString))
        using(cmd = new SqlCommand())
        using(da = new SqlDataAdapter())
        {
            cnn.Open();
            cmd.CommandText = "SELECT NAME FROM master..sysdatabases order by NAME";
            cmd.CommandType = CommandType.Text;
            cmd.Connection = cnn;
            SqlDataReader myReader = cmd.ExecuteReader();
            while (myReader.Read())
            {
                string name = myReader.GetString(0).ToLower();
                if (name != "master" && name != "tempdb" && name != "model" && name != "msdb")
                {
                    cboDBNames.Items.Add(name);
                }
            }
        }
    }
    catch (System.Exception e)
    {
        MessageBox.Show(e.Message, "PopulateDatabasesNames");
    }
}