C#SQL:获取SQL连接尝试



我正在尝试获取SQLConnection的尝试次数,以通知用户这些尝试。下面你可以看到代码,那里应该发生魔法我将是尝试的次数。连接"con"抛出了很多SqlException,但我无法捕捉到它们,如下所示databaseConnection表示连接字符串。出于测试目的,它目前是空的。我敢打赌,我错过了一些东西,但我不知道是什么,因为我是C#SQL编程的新手。"txtProgressbarWorking"是UI中的一个标签。

                int i = 1;
                con = new SqlConnection(databaseConnection);
                try
                {
                    con.Open();
                }
                catch(SqlException s)
                {
                    txtProgressbarWorking.Content = "Connecting... " + (++i);
                }

这个代码有几个错误:

1) 你是在循环中调用这个吗?否则,i变量将不会递增。

2) SqlConnection.Open()抛出了几种异常——不仅仅是SqlException,我认为这就是为什么你"无法捕捉到它们"的原因。理想情况下,您应该指定每个异常或捕获更高级别的System.SystemException

3) 增加进度条的代码位于异常处理程序的catch块中,只有在捕捉到异常时才会执行。如果您实际上是在循环中调用此代码,那么您可能希望将catch块中的代码移到try块中。

4) 您的++i应该是i++,以便i在语句之后递增;或者将i初始化为零而不是1。按照现在的方式,catch块中i的第一个值将是2。

我建议您查看一下MSDN关于SqlConnection.Open Method()的文档][1]https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.open%28v=vs.110%29.aspx

相关内容

  • 没有找到相关文章

最新更新