Bonjour à tous,

Je cherche à créer une requête MySql en passent mes informations de recherche à l'aide de paramètres.

Le problème c'est que tous les exemples trouvés traite sur des INSERT

Donc première question, est-il possible d'utiliser un SELECT avec une requête paramétrée ?

Et si oui, m'expliquer comme m'y prendre.

Ci-dessous un bout de code sur lequel je m'arrache les cheveux

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
using System.Data;
 
// Déclaration du DataSet
ds = new DataSet();
 
// Initialisation de la connexion à la base de données.
MySqlConnection conn = new MySqlConnection("Data Source='127.0.0.1' ;Database='mabase' ;user id='mon_user' ;Password='mon_password'");
MySqlCommand MyCmd = new MySqlCommand();
 
string _reqSQL = "SELECT mon_champ1, mon_champ2 ,mon_champ3 " +
                 "FROM ma_table WHERE mon_champ3 like @nom_parametre GROUP BY mon_champ3";
 
MyCmd.Parameters.AddWithValue("@nom_parametre", "toto");
MyCmd.CommandText = _reqSQL;
MySqlDataAdapter ReqExecut = new MySqlDataAdapter(_reqSQL, conn);
 
conn.Open();
 
ReqExecut.Fill(ds);
 
conn.Close();
Seul petit problème, c'est que ça ne fonctionne pas.

Ci-dessous l'erreur remontée

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
InnerException: MySql.Data.MySqlClient.MySqlException
       Message="Parameter '@nom_parametre' must be defined."
       Source="MySql.Data"
       ErrorCode=-2147467259
       Number=0
       StackTrace:
Je vous remercie par avance de votre aide

Cordialement

Frank