Bonsoir,

Cela faisait des heures que je cherchais à faire fonctionner ce morceau de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
//... connexion faite au préalable...
String stringTest = "toto";
String query = "Insert into Table(champ1) values(@test)";
MySqlCommand com = new MySqlCommand(query, ConnectionRessource);
com.Parameters.Add(new MySqlParameter("@test", MySqlDbType.VarChar, 200));
com.Parameters["@test"].Value = stringTest;
com.ExecuteNonQuery();
Ce code me donne une MysqlException indiquant "Le champ champ1 ne peut etre vide ou null".

Cherchant un peu partout sur le net, j'ai vu trainer des "?" dans certaines requêtes. J'ai alors effectué le test par désespoir et cela fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
String stringTest = "toto";
String query = "Insert into Table(champ1) values(?test)";
MySqlCommand com = new MySqlCommand(query, ConnectionRessource);
com.Parameters.Add(new MySqlParameter("?test", MySqlDbType.VarChar, 200));
com.Parameters["?test"].Value = stringTest;
com.ExecuteNonQuery();

Quelqu'un pourrait m'expliquer pourquoi cela ne fonctionne pas avec "@" ?

Si ça peut aider : Visual Studio 2005 SP1 + Mysql 4.1 + Connector/Net 5.1


Merci d'avance !