0
我目前正在使用MySQL和C#開發Windows應用程序。我有以下代碼:在MySQL中使用MySQLParameters進行查詢#
private void cboCategories_SelectedIndexChanged(object sender, EventArgs e)
{
DatabaseWork dbase = new DatabaseWork();
try
{
dbase.openConnection();
string query = "SELECT * FROM budgetcategory WHERE [email protected] AND [email protected]";
MySqlCommand cmd = new MySqlCommand("", dbase.conn);
cmd.CommandText = query;
cmd.Parameters.AddWithValue("@userID", userID);
cmd.Parameters.AddWithValue("@category", cboCategories.SelectedItem.ToString());
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
setCatId(reader.GetString("budc_category_id"));
Console.WriteLine("Category ID: " + getCatId());
}
}
catch (MySqlException ex)
{
Console.WriteLine("Cat Error: " + ex.Message);
}
finally
{
dbase.closeConnection();
}
}
出於某種原因,當我調試它從來沒有進入while循環,就好像什麼也沒有以往任何時候都從數據庫返回的代碼。但我知道那裏應該有東西。
感謝您的幫助,您可以提供
嗨,謝謝你的建議。 cboCategories會返回正確的值,並且不會拋出異常。奇怪的是,即使我硬編碼的參數值仍然永遠不會進入while循環。此外,如果我不使用參數,並將變量直接放入查詢字符串,它工作正常。它只有那些不起作用的MySQL參數 – Boardy