【发布时间】:2014-07-28 17:46:53
【问题描述】:
我正在尝试使用以下 c# 代码在列表框中显示可用的 sql 服务器:
DataTable dt = SmoApplication.EnumAvailableSqlServers(false);
foreach (DataRow dr in dt.Rows)
{
listBox3.Items.Add(dr["Name"].ToString());
}
但是,列表框仍然是空的,当我调试时,我发现dt.Rows 等于零,尽管我有一台带有 SQL Server 2012 Express 的服务器。
有什么想法吗?
【问题讨论】:
-
相关阅读:sqlblogcasts.com/blogs/jonsayce/archive/2008/02/10/… 另外,您需要保持一致——您在上一个问题(建议您使用 SMO)中声称使用 SQLEXPRESS 2010。它是什么?
-
是的,很抱歉造成混乱,现在是 2012 年。
-
不,没有例外。它执行代码,但从不进入 foreach 语句。
-
罗杰,说“它永远不会进入 for 循环”是没有意义的。除非该 smo 调用使您的应用程序立即退出,否则肯定存在异常。这很可能是导致退出的异常!当您单步执行调试器时会发生什么? smo 电话会返回吗?