Bonjour,

J'ai une base MySQL, de laquelle j'arrive à récupérer des données facilement à partir de mon site ASP .NET.

Par contre, je n'arrive pas à écrire dans ma base, et je ne comprends pas pourquoi, car j'ai procédé de la même manière en changeant simplement ma requête SQL 'select' en 'insert into'.

Voici la méthode :

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
string connStr = "server=localhost; user id=cera; password=check; database=cera_db; pooling=false;";
=MySql.Data.MySqlClient.MySqlConnection connexion = new MySql.Data.MySqlClient.MySqlConnection(connStr);

connexion.Open();

string mySelectQuery = "SELECT * FROM newsletter where email ='" + email + "'"; 
MySql.Data.MySqlClient.MySqlCommand command = new MySql.Data.MySqlClient.MySqlCommand(mySelectQuery, connexion);
MySql.Data.MySqlClient.MySqlDataReader results = command.ExecuteReader();


            if (!results.HasRows)
            {
                string myInsertQuery = "INSERT INTO newsletter (email) VALUES ('" + email + "')";
                MySql.Data.MySqlClient.MySqlCommand commandInsert = new MySql.Data.MySqlClient.MySqlCommand(myInsertQuery, connexion);
                commandInsert.ExecuteNonQuery();
}
La dernière ligne ne marche pas, mais je n'arrive pas à trouver pourquoi. J'ai essayé d'autres méthodes de MySqlCommand : commandInsert.ExecuteReader() par exemple, mais sans succès.

Toute cette méthode est dans un bloc try, elle s'exécute jusqu'à avant la ligne en rouge, mais ensuite hop catch !

Merci pour votre aide