gpt4 book ai didi

c# - 根据sql实例枚举获取sql server中的数据库列表

转载 作者:可可西里 更新时间:2023-11-01 11:13:27 26 4
gpt4 key购买 nike

我尝试在这段代码中获取服务器中的 SQL 数据库的名称我在一个名为服务器的组合框中使用 sqldatasource 枚举器列出了我计算机中的所有 sql 实例现在我试图在另一个中获取所有 sql 数据库名称的名称当我从服务器组合框中选择特定的 sql 实例时组合框但它不起作用

    private void Connect_Load(object sender, EventArgs e)
{
sqlservertable = sqlenumeratotr.GetDataSources();

server.DataSource = sqlservertable;

server.DisplayMember = sqlservertable.Columns["servername"].ToString();
server.ValueMember = sqlservertable.Columns["servername"].ToString();


}

private void server_SelectedIndexChanged(object sender, EventArgs e)
{
servername = server.SelectedValue.ToString();
constring = "server=servername;Integrated Security = sspi";
SqlConnection con = new SqlConnection(constring);

con.Open();
dbltables = con.GetSchema("Databases");



con.Close();
databases.DataSource = dbltables;
databases.DisplayMember = dbltables.Columns["database_name"].ToString();
}

最佳答案

如果我正确理解这个问题,我认为 Heather的回答足以解决问题,我将对此进行一些扩展。

您需要运行 Heather 的查询提及,然后将结果绑定(bind)到另一个 ComboBox。

private void server_SelectedIndexChanged(object sender, EventArgs e)
{
string serverName = server.SelectedValue.ToString();
string connString = string.Format("server={0};Integrated Security = sspi", serverName);
using (var con = new SqlConnection(connString))
{
using (var da = new SqlDataAdapter("SELECT Name FROM master.sys.databases", con))
{
var ds = new DataSet();
da.Fill(ds);
databases.DataSource = ds.Tables[0].Rows.Select(x => x["Name"].ToString());
//...
}
}
}

关于c# - 根据sql实例枚举获取sql server中的数据库列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13354611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com