2016-08-22 169 views
0

我正在运行一个C#程序,连接到它自己的网络上的本地MySQL服务器。这一切都正常工作,直到我失去了互联网,然后C#将不会连接到服务器,尽管被IP引用(见下面的代码)。C#MySQL连接无法连接,当我失去互联网

public bool IsConnect() 
    { 
     bool result = true; 
     if (Connection == null) 
     { 
      if (String.IsNullOrEmpty(databaseName)) 
       result = false; 
      string connstring = string.Format("Server=192.168.0.254; database={0}; UID=show; password=", ""); 

      try 
      { 
       connection = new MySqlConnection(connstring); 
       connection.Open(); 
       result = true; 
      } 
      catch (MySql.Data.MySqlClient.MySqlException ex) 
      { 
       switch (ex.Number) 
       { 
        case 0: 
         // MessageBox.Show("Cannot connect to server. Contact administrator"); 
         break; 
        case 1045: 
         // MessageBox.Show("Invalid username/password, please try again"); 
         break; 
       } 
      } 

     } 

     return result; 
    } 
+0

是什么原因导致“丢失互联网”? – PaulF

+0

是否因为您的路由器出现故障,因此您的网络也如此? – BugFinder

回答

0

即将发布更多信息,但突然发现答案。

添加

跳过名称解析

要停止的my.cnf的MySQL试图通过解析DNS客户端这引起了我的问题

+0

如果您的数据库名称为空,我们应该会发生异常。 –

0

您不检查您的databaseName。

public bool IsConnect() 
    { 
     bool result = true; 
     if (Connection == null) 
     { 
      if (String.IsNullOrEmpty(databaseName)) 
       result = false; 
      string connstring = string.Format("Server=192.168.0.254; database={0}; UID=show; password=", ""); 

      try 
      { 
      //Database name is not empty 
      if(result) 
       { 
       connection = new MySqlConnection(connstring); 
       connection.Open(); 
       result = true; 
       } 
      } 
      catch (MySql.Data.MySqlClient.MySqlException ex) 
      { 
       switch (ex.Number) 
       { 
        case 0: 
         // MessageBox.Show("Cannot connect to server. Contact administrator"); 
         break; 
        case 1045: 
         // MessageBox.Show("Invalid username/password, please try again"); 
         break; 
       } 
      } 

     } 

     return result; 
    }