Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过组合框选择数据库_C#_Sql_Sql Server_Database_Ado.net - Fatal编程技术网

C# 通过组合框选择数据库

C# 通过组合框选择数据库,c#,sql,sql-server,database,ado.net,C#,Sql,Sql Server,Database,Ado.net,我有一个组合框,我想用它从用户可用的选择中选择数据库。我找到了大量关于用表值填充字段的信息,但没有找到关于选择.dbo可以使用的字段的信息。我猜同样的原理也可以用在下面。。。 但我认为(数据库=)需要取出并替换一些。 如有任何建议,将不胜感激 var connectionString = "server = (local); database = database; integrated security = true;" string Sql = "select database..."; S

我有一个
组合框
,我想用它从用户可用的选择中选择数据库。我找到了大量关于用表值填充字段的信息,但没有找到关于选择
.dbo
可以使用的字段的信息。我猜同样的原理也可以用在下面。。。 但我认为(
数据库=
)需要取出并替换一些。 如有任何建议,将不胜感激

var connectionString = "server = (local); database = database; integrated security = true;"
string Sql = "select database...";
SqlConnection _con = new SqlConnection(connectionString);
_con.Open();
SqlCommand cmd = new SqlCommand(Sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
    combobox1.Items.Add(reader[0]);
}
您需要这个查询

string Sql = "SELECT * FROM sys.databases";

您可以从连接字符串中删除数据库选项,并对
master.dbo.sysdatabases
执行sql查询

完整示例:

var connectionString = "server=(local);integrated security=true;"
string sql = "SELECT name FROM master.dbo.sysdatabases";
SqlConnection conn= new SqlConnection(connectionString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();

        while (reader.Read())
        {
            combobox1.Items.Add(reader["name"]);

        }

那么,更重要的是我发送了什么SQL查询?很抱歉,这个例子不起作用,但我想这更可能是我的目的。@JamesBurnieMcburnie你的数据库是什么?它不是SQL Server吗?是的,很抱歉,事实证明它在我的代码中更高级,并且没有在正确的位置执行,导致它在显示给用户之前没有填充。现在工作。非常感谢。