2016-10-11 83 views
1

我有一个combobox,我想用它从用户选择中选择数据库。我已经发现了大量关于用表值填充字段的信息,但是没有关于他们可以使用哪个.dbo的选择。我猜可以使用相同的原则如下... 但我会假设(database =)需要取出并取代了一些方法。 任何意见,将不胜感激通过组合框选择数据库

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]); 
} 

回答

2

您需要此查询;

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

因此,它越往下什么SQL查询我再发? 对不起,这个例子并没有奏效,但我更倾向于猜测我的结局。 –

+0

@JamesBurnieMcburnie什么是您的数据库?不是SQL Server吗? –

+0

事实上,对不起,它实际上在我的代码中进一步发展,并没有在正确的位置执行,导致它在向用户显示之前不填充。 立即工作。谢谢 –

1

您可以从连接字符串删除数据库选项和对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"]); 

     }