【问题标题】:Database Selection Via ComboBox通过组合框选择数据库
【发布时间】:2016-10-11 08:23:05
【问题描述】:

我有一个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]);
}

【问题讨论】:

    标签: c# sql sql-server database ado.net


    【解决方案1】:

    你需要这个查询;

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

    【讨论】:

    • 那么它更多地取决于我发送的 SQL 查询?抱歉,这个例子不起作用,但我猜这更有可能是我的结局。
    • @JamesBurnieMcburnie 你的数据库是什么?不是 SQL Server 吗?
    • 是的,很抱歉,它实际上在我的代码中更进一步,并且没有在正确的位置执行,导致它在显示给用户之前无法填充。现在工作。谢谢
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多