我让DropDownList显示我的网络中存在的所有服务器,当我将其更改为另一个下拉列表时,我想要填充数据库名称,我想要一个LINQ查询来获得此结果。
发布于 2010-02-05 23:18:42
尝试下面的代码:
    protected void ddList_SelectedIndexChanged(object sender, EventArgs e)
    {
        PopulateDatabaseDropDown(ddList.SelectedItem.Text);
    }
    private void PopulateDatabaseDropDown(string server)
    {
        ddDatabase.DataSource = DatabaseName(server);
        ddDatabase.DataValueField = "DatabaseId";
        ddDatabase.DataTextField = "Name";            
        ddDatabase.DataBind();
    }
    private DataBase[] DatabaseName(string serverName)
    {
        List<DataBase> data = new List<DataBase>();
        System.Data.Linq.DataContext db = new System.Data.Linq.DataContext("Data Source="+serverName+";Initial Catalog=master;Integrated Security=SSPI");
       var dbName = db.ExecuteQuery<DataBase>("select database_id, [name] from sys.databases").AsEnumerable();
       foreach (var item in dbName)
           data.Add(new DataBase() { DatabaseId = item.DatabaseId, Name = item.Name });
       return data.ToArray();
    }
}
public class DataBase
{
    public string Name { get; set; }
    public int DatabaseId { get; set; }
}https://stackoverflow.com/questions/2207569
复制相似问题