private void button1_Click(object sender, EventArgs e)
        {
            SQLDMO.SQLServer sqlser = new SQLDMO.SQLServerClass();
            sqlser.Connect("20090907-1233", "sa", "");
            MessageBox.Show("OK!");
            for (int i = 0; i < sqlser.Databases.Count; i++)
            {
                    SQLDMO._Database db = sqlser.Databases.Item(i + 1, "dbo");
                    //获得指定数据库中的所有表
                    for (int j = 0; j < db.Count; j++)
                    {
                        comboBox1.Items.Add(db.Item(j + 1, "dbo").Name);
                    }
            }
        }我连接完数据库获得了SQL的所有表的表名列表 ,我现在想获取数据库列表该怎么做呢!
那位指点下。就是获取到下拉表里面。谢谢

解决方案 »

  1.   


    /// <summary>
        /// 获取所有的数据库名
        /// </summary>
        /// <returns></returns>
        public string[] ListAllDatabase()
        {
          ArrayList list = new ArrayList();
          foreach(Database d in sqlServer.Databases)
          {
            list.Add(d.Name);
          }      if (list.Count == 0)
            return new string[0];
          else
            return (string[])list.ToArray(typeof(string));
        }
      

  2.   

    你用的是SQLDMO,这个不熟~~,呵呵,网上找找一看就明白,别人封装的
      

  3.   

    数据库链接语句:server = localhost;database = master;uid = sa;pwd =
    获取数据库列表的SQL:select * from sysdatabases