软件要求配置数据库连接以前从来没在Connection 上加过Try
现在加了发现修改了Config中的连接串,发现catch不到,直接蹦
这个怎么解决,当连接不上时能弹出提示。

解决方案 »

  1.   

     try
                    {
                        conn = new SqlConnection(strconnect);
                    }
                    catch (SqlException e)
                    {
                        MessageBox.Show("数据库连接处错","错误",MessageBoxButtons.OK,MessageBoxIcon.Warning);
                    }
      

  2.   

    这样肯定捕获不到的,要到Connection执行Open操作(或隐性的Open,如关联的SqlDataAdapter执行Fill)时才会真正进行连接动作的。
      

  3.   

    恩,我知道。是数据库名改变了那些才执行 ,open才报错, 主要是 我乱改的ConnStr,这个错误怎么抓。
      

  4.   

    我懂得你的意思 我把OPEN()给去掉了,主要是想说是那句话报的错。。
      

  5.   

    还不明白?在执行Open或Fill等操作的时候捕获异常。
      

  6.   


     public string strconnect = System.Configuration.ConfigurationSettings.AppSettings["connectionString"];        private SqlConnection conn;
            public SqlConnection Conn
            {
                get 
                {
                    try
                    {
                        conn = new SqlConnection(strconnect);
                        conn.Open();
                    }
                    catch (SqlException e)
                    {
                        MessageBox.Show("数据库连接处错","错误",MessageBoxButtons.OK,MessageBoxIcon.Warning);                }
                    return conn;
                }
            }
    当我改动关键字的时候出错无法捕获,而数据库名, sa 和密码 改变的时候在OPEN()时都捕获了
      

  7.   

    Data Source=.;Initial Catalog=test;User ID=sa
    我说把Initial Catalog改掉的情况,而不是改掉test的情况,算了,我只是想得到这样的处理方法,这个我还是在程序中控制输入的,省着那些用户乱改。
      

  8.   

    楼主的意思是更改Data Source=.;Initial Catalog=test;User ID=sa中的 key值?比如说把Initial Catalog改成其他的东西,如Initial CataloC????
      

  9.   

    using(conn = new SqlConnection(strconnect))
    {
        ....
    }
      

  10.   

    Exception e用这个捕获看看是什么错
      

  11.   

                catch
                {
                }
    这样行吗
      

  12.   

    连接数据库的 语句也能让用户修改? 不如只让他修改values
      

  13.   

    WinForm捕获未处理的异常 http://www.cnblogs.com/lijialong/archive/2010/07/10/BugCatch.html