[C#] Probleme d'insertion dans un reader
Coucou,
désolé pour le titre du post, je savais pas trop quoi mettre :wink:
Voili voilou, on commencec a me connaitre dans le coin mais j'apprend :P !!
Lors d'un appel a une fonction par click sur mon calendrier, je voudrai supprimer les lignes d'une table et les remplacer par d'autre :lol:
Alors voici ce que j'ai fait :
Code:
1 2 3 4 5 6 7
| private void Calendar1_SelectionChanged(object sender, System.EventArgs e)
{
System.DateTime maDate = Calendar1.SelectedDate;
myComponent.vehiculesDisponnible(maDate);
IdDate.Text = Calendar1.SelectedDate.ToShortDateString();
} |
j'appel ma fonction en passant en parametre ma date selectionnée.
Code:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| public void vehiculesDisponnible(System.DateTime maDate)
{
string strConnexion = "workstation id=SSAPST99;packet size=4096;user id=admdb01;data source=\"SOCCIB6\\TES" +
"T\";persist security info=False;initial catalog=master;password=admdb-01";
//supprime toute les lignes de la table Vehicules disponnibles
string deleteRequete = "DELETE FROM TableVD";
//Selectionne les lignes de la Table Vehicule où la Date selectionnée
//dans le calendrier ne correspond pas au reservation enregistrées.
string strRequete = "SELECT * FROM TableV WHERE Date != '" +maDate+ "'";
try
{
SqlConnection oConnection = new SqlConnection(strConnexion);
//Commande de suppression
SqlCommand delCommand = new SqlCommand(deleteRequete,oConnection);
//Commande de Lecture des lignes de Véhicules Disponnibles
SqlCommand lectureCommand = new SqlCommand(strRequete,oConnection);
oConnection.Open();
delCommand.ExecuteNonQuery();
SqlDataReader monLecteur = lectureCommand.ExecuteReader();
//Lecture sur la base de véhicules dont la reservation n'est pas enregistrée
while(monLecteur.Read())
{
string monVehicule = monLecteur["NomV"].ToString();
//requete d'insertion des véhicules disponnibles dans la table TableVD
string strRequete2 = "INSERT INTO TableVD VALUES ('" +monVehicule+ "')";
SqlCommand maCommand = new SqlCommand(strRequete2,oConnection);
maCommand.ExecuteNonQuery();
}
oConnection.Close();
}
catch (Exception e)
{
Console.WriteLine("L'erreur suivante a été rencontrée :" + e.Message);
}
} |
Normalement je l'ai aps trop mal commenté, mais j'vais en rajouter un peu :roll:
Je supprime bien mes lignes, ca ca marche !
Mais apres, je lit les lignes uniquement où mon champ "date" diffère de celle selectionnée... jusque la j'ai bon je crois ?
Pour chaque ligne lue, je voudrai inserer dans une autre table (TableVD) les nom (NomV) de mes véhicules.
Alors j'ai fait
Code:
1 2 3 4 5 6 7 8 9 10 11
| while(monLecteur.Read())
{
string monVehicule = monLecteur["NomV"].ToString();
//requete d'insertion des véhicules disponnibles dans la table TableVD
string strRequete2 = "INSERT INTO TableVD VALUES ('" +monVehicule+ "')";
SqlCommand maCommand = new SqlCommand(strRequete2,oConnection);
maCommand.ExecuteNonQuery();
} |
Mais rien ne s'incere.
Pourtant en testant, n'étant pas totalement stupide, j'ai cliqué sur une date existant dans mes reservation et une autre pour voir...
Alors peut etre que je ne peut pas inserer dans ma boucle While ?
Si c'est ca, dite moi comment je pourrai m'en sortir :wink:
THX ALL :)
Erwan