苏飞论坛

标题: 检测数据库状态是否连接的例子,和IP使用的问题 [打印本页]

作者: 梦如人生    时间: 2014-6-13 21:40
标题: 检测数据库状态是否连接的例子,和IP使用的问题
大家可以试试。当本地IP=127.0.0.1 和 192.168.1.100 的时候的区别。也许是我自己的问题。不过大家可以试试。首先说下这个都是在一台服务器测试也就是本机
这里服务器IP 192.168.1.100
这是类代码

[C#] 纯文本查看 复制代码
    //数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库.                
        private const string connectionString = "Server=192.168.1.100;UserId=rootassword=root;Database=data;";
     
        #region 测试数据库连接      
        private static bool IsCanConnectioned = false;

         /// <summary>
        /// 测试连接数据库是否成功
        /// </summary>
        /// <returns></returns>
        public static bool ConnectionTest()
        {            
            MySqlConnection connection = new MySqlConnection(connectionString);
          try
            {
                connection.Open();
                IsCanConnectioned = true;
            }
            catch
            {
                 IsCanConnectioned = false;
            }
            finally
            {
                connection.Close();
            }
           if (connection.State == ConnectionState.Closed || connection.State == ConnectionState.Broken)
            {
               return IsCanConnectioned;
            }
            else
            {
               return IsCanConnectioned;
            }
        }



        #endregion

当服务器IP=127.0.0.1的时候在测试下


类代码
[C#] 纯文本查看 复制代码
    //数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库.                
        private const string connectionString = "Server=127.0.0.1;UserId=rootassword=root;Database=data;";
        #region 测试数据库连接      
        private static bool IsCanConnectioned = false;

         /// <summary>
        /// 测试连接数据库是否成功
        /// </summary>
        /// <returns></returns>
        public static bool ConnectionTest()
        {            
            MySqlConnection connection = new MySqlConnection(connectionString);
          try
            {
                connection.Open();
                IsCanConnectioned = true;
            }
            catch
            {
                 IsCanConnectioned = false;
            }
            finally
            {
                connection.Close();
            }
           if (connection.State == ConnectionState.Closed || connection.State == ConnectionState.Broken)
            {
               return IsCanConnectioned;
            }
            else
            {
               return IsCanConnectioned;
            }
        }



        #endregion


前台代码

        private void button3_Click(object sender, EventArgs e)
        {
            if (DbHelperMySQL.ConnectionTest() == false)
            {
                label3.Text = "NO";
            }
            else { label3.Text = "yes"; }      
        }



可以测试下类2个服务器IP 看看有什么变化。反正我发现用127.0.0.1测试是错误的,用192.168.1.100测试正确
在测试的时候正修改 127.0.2.1 或者 192.168.1.111
说一下 我这个是用的MYSQL数据库。
就会发现蛋疼的问题。。 我也不知道到底是什么问题,发出来希望能帮到所需要的伙伴儿!
知道原因的也请回答下。谢谢!






欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4