2016-08-22 153 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; 
    }