Je développe actuellement une application pour Windows en utilisant MySQL et C#. J'ai le code suivant:MySQL Query avec MySQLParameters en C#
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();
}
}
Pour une raison quelconque quand je déboguer le code, il ne va jamais dans la boucle while comme si rien ne revenait jamais de la base de données. Mais je sais qu'il devrait y avoir quelque chose là-dedans.
Merci pour toute aide que vous pouvez fournir
Salut, merci pour vos suggestions. cboCategories revient avec la bonne valeur et aucune exception n'est levée. Ce qui est bizarre c'est que même si je code dur les valeurs des paramètres, ça ne va jamais dans la boucle while. De plus, si je n'utilise pas de paramètres et que je mets les variables directement dans la chaîne de requête, cela fonctionne très bien. C'est seulement les paramètres MySQL qui ne fonctionnent pas – Boardy