Bonjour,
Je suis novice en MySql et je suis en train de développer une application et C#.
En fait, j'importe un fichier .csv dans ma base de données.
Dans mon fichier csv, j'ai environ 1000 lignes, ces lignes représentes chacune une personne (Avec Nom, Prénom, Classe, N°Carte).
J'importe ce fichier dans ma BDD, qui contient déjà des personnes.
Il est donc fortement possible qu'il y est des doublons entre mon fichier csv et ma BDD.
Comme le N°Carte doit etre unique, avec phpMyAdmin, je l'avais mis en Unique.
Ça marche pas trop mal, mais je rencontre un soucis. En fait, des que je lance mon importation (donc le contenu de mon fichier csv est copié dans ma BDD), et qu'un doublon est rencontré, tout s'arrête. Au lieu de simplement 'zapper' cette personne, tout est arreté.
Exemple : Si j'ai un fichier de 1000 personnes, et que le doublon apparaît à la 3eme ligne, les 997 autres personnes ne sont pas importées.
Si avec visual studio, je passe en mode debug, je me rends compte qu'en fait, des que le doublon apparait, mon code passe directement dans le catch.
Donc y a-t-il un autre moyen d'éviter les doublons ?
Est-ce qu'il est possible de faire ça en modifiant ma requete sql ?
Est-ce que l'on peut se servir de distinct dans ce cas, ou un ON DUPLICATE KEY ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 RPassageAnnee = "INSERT INTO eleves(Nom,Prenom,Classe,NumCarte) VALUES('" + Nom[i] + "','" + Prenom[i] + "','" + Classe[i] + "', '" + NumCarte[i] + "')"; MySqlCommand cmdPassageAnnee = new MySqlCommand(RPassageAnnee, conn); cmdPassageAnnee.ExecuteNonQuery();
Toute aide est la bienvenue !
Merci d'avance
Coxycross
Partager