Je n'arrive pas à trouver la moindre solution à ce problème. J'utilise cette fonction générique pour extraire des données d'une base de données comme ceci: int id = 29 ArrayList^ classes = getClassesGeneric("dep_id", "=", id.ToString());
La requête paramétrée ne renvoie aucun résultat à l'aide de C++ .Net MySQL Connector
Cependant, cela ne donne aucun résultat. Si j'interroge la base de données via MySQL Workbench ou sans paramètres, cela fonctionne très bien. Qu'est-ce que je rate?
ArrayList^ Accessor::getClassesGeneric(String^ col, String^ op, String^ value)
{
ArrayList^ result = gcnew ArrayList();
this->cmd = gcnew MySqlCommand("SELECT * FROM rpos_db.classes WHERE @col @op @value;", this->con);
try
{
this->cmd->Parameters->AddWithValue("@col", col);
this->cmd->Parameters->AddWithValue("@op", op);
this->cmd->Parameters->AddWithValue("@value", value);
this->cmd->Prepare();
MySqlDataReader^ r = this->cmd->ExecuteReader();
while (r->Read())
{
Class^ c = gcnew Class();
c->id = r->GetInt32(0);
c->dep_id = r->GetInt32(1);
c->name = r->GetString(2);
c->code = r->GetString(3);
result->Add(c);
}
r->Close();
}
catch (Exception^ ex)
{
MessageBox::Show(ex->StackTrace, ex->Message);
}
return result;
}
En utilisant la fonction comme ceci produit le résultat échancré: classes = getClassesGeneric("1", "=", "1");
Je vois ce que vous dites, mais comment cela fonctionne-t-il de cette façon? 'getClassesGeneric (" 1 "," = "," 1 ");' –
cela a résolu mon problème cependant. Merci! –