2012-01-25 73 views
-1

我正在使用MySQL使用Visual Studio,C#和我添加了所需的資源。我的代碼是:在Visual Studio中使用MySQL C#錯誤

using MySql.Data.MySqlClient;

string MySqlConnectionValues = "SERVER=blahblahblah.000webhost.com; DATABASE=dbdbdbdb;UID=OopsIDon'tRemember; PASSWORD=whatspassword?;"; 
    MySqlConnection MySQLCon; 
    MySqlDataAdapter MySQLDataAdapter; 
    DataTable DTItems; 

      private void MySQLForm_Load(object sender, EventArgs e) 
    { 
     try 
     { 
      MySQLCon = new MySqlConnection(MySqlConnectionValues); 
     } 
     catch (Exception UnableToConnectToMYSQL) 
     { 
      MessageBox.Show(UnableToConnectToMYSQL.Message.ToString()); 
     } 
    } 

    DataTable GetAllItems() 
    { 
     try 
     { 
      string Query = "select * from items"; 

      MySQLDataAdapter = new MySqlDataAdapter(Query, MySQLCon); 
      DataSet DS = new DataSet(); 
      MySQLDataAdapter.Fill(DS); 
      return DS.Tables[0]; 
     } 
     catch (Exception UnableToGetAllItems) 
     { 
      MessageBox.Show(UnableToGetAllItems.Message.ToString()); 
      return null; 
     } 
    } 

但我得到「無法連接到任何指定的MySQL主機」消息箱UnableToGetAllItems異常。儘管我確信在000webhost CPanel中管理MySQLDatabases頁面上輸入的主機名完全相同。爲什麼會發生?

+0

看起來這是一個託管的MySQL框?所需端口是否打開? – Stu

回答

0

從數據庫提供者的角度來看,可能您的連接字符串是無效的。因爲它包含撇號等符號。嘗試使用普通名稱創建一個新用戶,並查看它是否可行。否則,您需要使用'而不是符號來篩選此類符號。

+0

「初始化字符串的格式不符合從索引0開始的規範。」 – BShakiba

+0

這是什麼?錯誤信息還是什麼? – Kath

0

你確定你的虛擬主機允許你以這種方式連接到你的MySQL數據庫嗎?如果允許,你知道連接的正確端口嗎?默認情況下,如果不將端口添加到連接字符串中,將使用端口3306。