2015-02-23 137 views
-3
connectionString = @"server=localhost;database=" + lbDatabase.SelectedItem.ToString() + ";userid=root;password=;"; 

     string query = "SELECT order_id FROM orders WHERE id = 1"; 

     MySqlConnection connect = new MySqlConnection(connectionString); 

     MySqlCommand cmd = new MySqlCommand(query, connect); 

     reader = cmd.ExecuteReader(); 

你好,C#查詢:'System.InvalidOperationException'|其他信息:連接必須是有效和打開

當我運行下面的代碼我有這個問題。我得到這個不是那麼非常具體的錯誤:

An unhandled exception of type 'System.InvalidOperationException' occurred in MySql.Data.dll

Additional information: Connection must be valid and open.

如果有人可以幫助我,我真的很感激它,

謝謝。

+4

好例外似乎非常清楚。您沒有有效的開放式連接。看看你的代碼 - 你認爲你在哪裏打開連接?嘗試'connect.Open()'... – 2015-02-23 10:56:38

+0

連接已經被另一個方法打開。當我添加connect.Open()時,表示連接已經打開。 – Quartermain 2015-02-23 11:00:31

+0

然後有代碼,你沒有向我們顯示,這使它很難幫助你... – 2015-02-23 11:00:58

回答

0

對MySQL的ConnectionString中語法如下:

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; 

請注意,您在使用「用戶ID」和而不是「UID」和「PWD」密碼'。

0

假設你的連接字符串的權利..嘗試這個

connectionString = @"server=localhost;database=" + lbDatabase.SelectedItem.ToString() + ";userid=root;password=;"; 

    string query = "SELECT order_id FROM orders WHERE id = 1"; 

    MySqlConnection connect = new MySqlConnection(connectionString); 


    MySqlCommand cmd = new MySqlCommand(query, connect); 

    connect.Open(); 

    reader = cmd.ExecuteReader(); 

/*Do Whatever You Want To Do Here */ 

connect.Close(); 

你可以參考這個鏈接引用。 Exception: System.InvalidOperationException Trying to validate a login information

希望這有助於:)

相關問題