Problème de mise à jour de la base de donnée C#
Thomasheros
Messages postés
2
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai un assez gros problème, je veux pouvoir mettre à jour ma base de données avec UPDATE. Lorsque le programme est exécuté et que je modifie une donnée il n'y a pas de problème j'arrive à la retrouver dans le programme. Par contre lorsque je relance le programme il n'y a pas la donnée modifiée.
Ce que je constate et qui est très bizarre, c'est que ma base de données ne se met jamais à jour alors que une fois le programme lancé, la modification effectué et que je lis dans la base il me la retrouve bien. C'est un peu comme si la base faisait un reset à chaque fois que je la relance....
voici mon code simple pour la modification dans la base:
Les données de la base restent uniquement si je modifie les données directement dans la BD.
Alors pourquoi je n'arrive pas à modifier les données de la base en sachant que lorsque le programme tourne il arrive à lire dans la base des données qui n'y sont pas... ?
J'ai un assez gros problème, je veux pouvoir mettre à jour ma base de données avec UPDATE. Lorsque le programme est exécuté et que je modifie une donnée il n'y a pas de problème j'arrive à la retrouver dans le programme. Par contre lorsque je relance le programme il n'y a pas la donnée modifiée.
Ce que je constate et qui est très bizarre, c'est que ma base de données ne se met jamais à jour alors que une fois le programme lancé, la modification effectué et que je lis dans la base il me la retrouve bien. C'est un peu comme si la base faisait un reset à chaque fois que je la relance....
voici mon code simple pour la modification dans la base:
string commandText = "UPDATE Location SET Telephone = @tel WHERE Annee = @annee AND Adresse = @adr;";
using (SqlConnection connection = new SqlConnection(Properties.Settings.Default.DatabaseLocataireConnectionString))
{
SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.Add("@annee", SqlDbType.NVarChar);
command.Parameters["@annee"].Value = "2014";
command.Parameters.AddWithValue("@tel", textBox2.Text);
command.Parameters.AddWithValue("@adr", "46");
try
{
connection.Open();
Int32 rowsAffected = command.ExecuteNonQuery();
Console.WriteLine("RowsAffected: {0}", rowsAffected);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Les données de la base restent uniquement si je modifie les données directement dans la BD.
Alors pourquoi je n'arrive pas à modifier les données de la base en sachant que lorsque le programme tourne il arrive à lire dans la base des données qui n'y sont pas... ?
A voir également:
- Problème de mise à jour de la base de donnée C#
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Base de registre - Guide
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mise à jour libre office - Accueil - Bureautique
3 réponses
salut,
à première vue je dirai tout simplement que tu te trouve dans le cadre d'une transaction.
Quelle est la valeur de
essaye de rajouter, à la suite de
naga
à première vue je dirai tout simplement que tu te trouve dans le cadre d'une transaction.
Quelle est la valeur de
Properties.Settings.Default.DatabaseLocataireConnectionString?
essaye de rajouter, à la suite de
ExecuteNonQuerycette ligne :
command.Transaction.Commit();
naga
Salut et merci d'avoir répondu,
La valeur de Properties.Settings.Default.DatabaseLocataireConnectionString :
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DatabaseLocataire.mdf;Integrated Security=True;User Instance=True
Le command.Transaction.Commit(); n'a rien fait de plus.
PS: Il m'arrive des fois aussi lorsque je relance le programme, qu'il m'affiche bien la valeur que j'ai changer précédemment alors que dans la base la donnée n'est pas la même. ça me fait peur...
La valeur de Properties.Settings.Default.DatabaseLocataireConnectionString :
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DatabaseLocataire.mdf;Integrated Security=True;User Instance=True
Le command.Transaction.Commit(); n'a rien fait de plus.
PS: Il m'arrive des fois aussi lorsque je relance le programme, qu'il m'affiche bien la valeur que j'ai changer précédemment alors que dans la base la donnée n'est pas la même. ça me fait peur...