Sql server 如何使用c.net从组合框中的NpgsqlConnection获取所有数据库的列表

Sql server 如何使用c.net从组合框中的NpgsqlConnection获取所有数据库的列表,sql-server,asp.net-mvc,asp.net-web-api,npgsql,Sql Server,Asp.net Mvc,Asp.net Web Api,Npgsql,我正在尝试开发一个控制台应用程序,我需要知道所有数据库列表的名称。但此代码无效。这是我的代码: public static List<string> AllNpgsqlDatabaseName() { List<string> li = new List<string>(); NpgsqlConnection connection = new NpgsqlConnection("Host=loc

我正在尝试开发一个控制台应用程序,我需要知道所有数据库列表的名称。但此代码无效。这是我的代码:

public static List<string> AllNpgsqlDatabaseName()
         {
            List<string> li = new List<string>();
            NpgsqlConnection connection = new NpgsqlConnection("Host=localhost;Username=root;Password=root;");
            connection.Open();
            NpgsqlCommand command = connection.CreateCommand();
            command.CommandText = "SELECT name from sys.databases";
            NpgsqlDataReader Reader;

            Reader = command.ExecuteReader();
            while (Reader.Read())
            {
                string row = "";
                for (int i = 0; i < Reader.FieldCount; i++)
                    row += Reader.GetValue(i).ToString() + ", ";
                li.Add(row);
            }

            connection.Close();
            return li;
        }
你可以跑

SELECT datname FROM pg_database

别忘了处理你的连接、命令和阅读器!使用时,否则异常将导致连接泄漏。谢谢你的回复!