我正在尝试这个,但我不知道该怎么办。你能帮我个忙吗?
SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance;
DataTable table = instance.GetDataSources();
foreach (var row in table.Rows)
{
foreach (var column in table.Columns)
{
ddlPublisherServer.Items.Add(???);
}
}
哪里??? = SQL Server名称。
我如何从表中提取sql server名称?
我正在使用C#在ASP .NET中工作。
答案 0 :(得分:10)
好吧,如果想要查看所有可用信息,可以迭代可用的列:
DataTable dt = SqlDataSourceEnumerator.Instance.GetDataSources();
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
Console.WriteLine("{0,-15}: {1}", col.ColumnName, dr[col]);
}
Console.WriteLine();
}
这会显示如下:
ServerName : COMPUTER1
InstanceName : SQLEXPRESS
IsClustered : No
Version : 9.00.4035.00
所以,回答你的问题:
ddlPublisherServer.Items.Add(row[table.Columns["ServerName"]]);
完整代码:
DataTable table = System.Data.Sql.SqlDataSourceEnumerator.Instance.GetDataSources();
foreach (DataRow server in table.Rows)
{
ddlPublisherServer.Items.Add(server[table.Columns["ServerName"]].ToString());
}