我正在尝试在表单的gridview中列出我们网络上可用的所有SQL Server。我在按钮点击事件中有这个代码。
SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance;
System.Data.DataTable myDataTable = instance.GetDataSources();
gvSqlServers.DataSource = myDataTable;
gvSqlServers.DataBind();
它运行但在gridview中没有显示任何内容,我没有收到任何错误。
答案 0 :(得分:1)
首先,我认为SQL Server必须启用SQL浏览,这已经多次关闭。否则我猜你的应用程序无论如何都找不到它。
当我从Windows窗体应用程序在本地框上运行代码时,它可以正常工作
我也在ASP.NET中运行相同的代码,它也可以运行。
我的猜测是,这是SQL浏览的问题,或者可能是防止SQL服务器广播的其他问题
答案 1 :(得分:1)
试试这个。它对我有用..
SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance;
DataTable dt = instance.GetDataSources();
DropDownList1.DataSource = dt;
foreach (DataRow dr in dt.Rows)
{
DropDownList1.Items.Add(string.Concat(dr["ServerName"], "\\", dr["InstanceName"]));
}
注意:在您的代码中,您使用databind方法进行dropdownlist。为此 你必须提到Datatextfield和datavalue字段。我们不能不提 这里使用它,它给出了准确的结果。