Problème de requête... [Résolu]

Signaler
Messages postés
4
Date d'inscription
mercredi 8 juillet 2009
Statut
Membre
Dernière intervention
15 mars 2010
-
Messages postés
4
Date d'inscription
mercredi 8 juillet 2009
Statut
Membre
Dernière intervention
15 mars 2010
-
Bonjour,
J'ai un petit souci avec une requête sous Access 2003. La connexion à la BD fonctionne très bien.
Voici mon code :

public string chercheLex(string strMot, string strNomLot)
{
string strResult;
string strCheminBdLex = "C:\\Documents and Settings\\xavier.lavaine\\Bureau\\StyxTables.mdb";
string csindex = "Provider=Microsoft.Jet.OLEDB.4.0; ";
csindex += "Data Source=" + strCheminBdLex + ";";

// Open a connection to the certificate database
oConnect = new OleDbConnection(csindex);
oConnect.Open();

string strSql;
strSql = "SELECT Diagnostic ";
strSql += "FROM " + strNomLot;
strSql +" WHERE Diagnostic '"+strMot+"'";

OleDbCommand cmd = new OleDbCommand(strSql, oConnect);

strResult = ((string)cmd.ExecuteScalar());
MessageBox.Show(strResult);
return strResult;
}

Le souci c'est que lorsque la variable "strMot" contient g* (je demande donc le mot commençant par g, je n'ai pas de retour, strResult ne contient rien par contre lorsque strmot contient un mot entier contenu dans ma BD, strResult contient bien ce mot. J'ai donc un souci avec, soit les quotes '' ou avec *. Je ne comprends pas ce qui se passe. Si quelqu'un peut m'aider, merci à vous...

2 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
Salut

Le problème vient du fait qu'Access n'utilise pas du SQL standard.

Essaie donc de modifier ainsi :

strSql += " WHERE Diagnostic LIKE '" + strMot + "'";
// Normalement, les tests avec des lettres "joker" doivent être faits avec LIKE et non =

Et dans ta valeur de strSql, le symbole pour "n'importe quoi" (là où tu as mis *) est % normalement.

Théoriquement, avec ces deux modifications ça devrait marcher.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
4
Date d'inscription
mercredi 8 juillet 2009
Statut
Membre
Dernière intervention
15 mars 2010

Le problème est résolu, LIKE et % étaient la solution, un grand merci à toi... Cordialement...