2015-07-05 65 views
0

我是相當新的C#語言沿着使用教程,以幫助更好地理解我試圖做一個簡單的'按鈕,使得一個連接到MySQL數據庫。Windows窗體應用程序 - MySQL - 無法從'字符串'轉換

我已經安裝了MySQL連接.NET 6.9.6參考和Visual Studio 2013中的MySQL連接的ODBC(5.3.4),但得到以下錯誤:

爲 的最佳重載的方法匹配'MySql.Data.MySqlClient.MySqlDataAdapter.MySqlDataAdapter(MySql.Data.MySqlClient.MySqlCommand)' 有一些無效的參數。

參數1:無法從「string'to ‘MySql.Data.MySqlClient.MySqlCommand’

和不知道如何解決它們可能有人點我在正確的方向轉變?我已經做了一些研究,但似乎沒有找到答案。

我的代碼如下:

  try 
      { 
       string mySqlConnection = "datasource=db;port=3306;username=usr;password=Pswd"; 
       MySqlConnection mySqlConn = new MySqlConnection (mySqlConnection); 
       MySqlDataAdapter myDataAdapter = new MySqlDataAdapter (mySqlConnection); 
       myDataAdapter.SelectCommand = new MySqlCommand (" Select * database.edata ;", mySqlConn); 
       MySqlCommandBuilder cb = new MySqlCommandBuilder (myDataAdapter); 
       mySqlConn.Open(); 
       DataSet ds = new DataSet(); 
       MessageBox.Show("Connected to Database"); 
       mySqlConn.Close(); 
      } 
      catch (Exception ex) 
       { 
         MessageBox.Show (ex.Message); 
       } 
     } 

我有替代品的原因很明顯正確的連接細節,以及連接到遠程MySQL服務器不是本地的。

+0

應該是'select * from database.edata;'。也許其他問題.. – amdixon

回答

1

您不應該在您的MySqlDataAdapter構造函數中使用連接字符串。您需要使用您的命令,而不必使用您的連接。喜歡;

MySqlConnection mySqlConn = new MySqlConnection (mySqlConnection); 
MySqlCommand cmd = new MySqlCommand("Select * from database.edata"); 
cmd.Connection = mySqlConn; 
MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(cmd); 

看起來它沒有一個構造函數string作爲一個參數,但它有一個MySqlCommand。順便說一下,你在你的SQL查詢中忘記了FROM部分。

並且不要忘記使用using語句來自動處理您的連接,命令和adwapter,而不是手動調用Close方法。

+0

完美,謝謝! – H3ALY

相關問題