Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1401 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  problème de mise à jour de la BD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de mise à jour de la BD

n°2235974
thomashero​s
Posté le 21-08-2014 à 16:14:24  profilanswer
 

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:
<code>
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);
                }
            }
</code>
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... ?

mood
Publicité
Posté le 21-08-2014 à 16:14:24  profilanswer
 

n°2235982
x1fr
Posté le 21-08-2014 à 17:05:07  profilanswer
 

C'est quoi comme base? Si c'est du style sqlite / sql server compact la base source ne serait pas recopiée à chaque compilation par visual studio?


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2235990
thomashero​s
Posté le 21-08-2014 à 19:40:11  profilanswer
 

Salut et merci d'avoir répondu,
 
La base que j'utilise est celle intégrée à Visual Studio, je ne pourrais pas t'en dire plus.
J'ai peut-etre utilisé une mauvaise base de donnée, si oui peux - tu m'en informer et comment procéder pour avoir une base qui fonctionne bien  :D  
Merci

n°2236001
x1fr
Posté le 22-08-2014 à 08:59:35  profilanswer
 

Un moyen simple de vérifier c'est de ne pas passer par visual studio.
 
Tu génères ton programme en Release, ensuite dans l'explorateur tu vas dans on dossier bin\Release pour lancer l'exe.
 
Tu fais des modifs dans la base, enregistres, quittes le programme et relances. Si les modifs sont toujours là, c'est bien VS qui recopie la base source à chaque lancement, sinon c'est bien au niveau de ton programme ou de la base qu'il y a un soucis.


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2236025
thomashero​s
Posté le 22-08-2014 à 20:07:49  profilanswer
 

Oui ! en effet lorsque je ferme Visual et que je lance le programme seulement avec le .exe directement depuis le dossier je n'ai plus de problème !
Pourrais-tu m'expliquer quelles sont les modifications à faire pour que Visual ne recopie plus la base à chaque fois ? Merci

n°2236049
thomashero​s
Posté le 23-08-2014 à 22:44:31  profilanswer
 

Une personne pourrait me donner la solution pour que VS ne redéploie pas la BDD à chaque fois ?
Merci

n°2236073
x1fr
Posté le 24-08-2014 à 22:43:21  profilanswer
 

Dans l'explorateur de solution, tu sélectionne le fichier de ta base de données puis dans la fenetre de propriété, il y a une option, je ne sais plus exactement l'intitulé, mais en gros les options sont "toujours copier", "ne jamais copier", et "copier si plus récent"
 
J'imagine que pour l'instant il est sur toujours copier. Il suffit de sélectionner un des 2 autres en fonction de ce qui te conviens le mieux.


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2236081
thomashero​s
Posté le 25-08-2014 à 01:48:42  profilanswer
 

Salut !
 
Il m'affiche un message d'erreur lorsque je met sur "ne pas copier":
 
Échec d'une tentative d'attachement d'une base de données nommée automatiquement pour le fichier C:\Users\***\Debug\DatabaseLocataire.mdf. Il existe une base de données du même nom ou le fichier spécifié ne peut être ouvert ou il se trouve sur un partage UNC.
 
Et quand je met "copier si plus récent" ça ne règle pas mon problème.
 
Que faire ?

n°2236084
x1fr
Posté le 25-08-2014 à 09:40:53  profilanswer
 

Après avoir mis le réglage sur "ne pas copier", quand tu lances le debug, est ce que le fichier DatabaseLocataire.mdf existe dans ton bin\Debug ?
 
Il faut peut être le copier à la main la première fois


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2236122
thomashero​s
Posté le 25-08-2014 à 14:38:52  profilanswer
 

En effet, il fallait bien le copier à la main la première fois.
Mais je me suis aperçu d'une chose, c'est qu'il cherchait la base dans le dossier principale et non le dossier Debug.
J'ai donc modifier le chemin de connexion et maintenant tout marche comme prévu.
 
Je te remercie pour tout x1fr.
Je n'aurais pas pu y arriver sans toi.
 
:bounce:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  problème de mise à jour de la BD

 

Sujets relatifs
[résolu]Problème authentification mailProblème de signaux
Problème d'architecture de softwareProblème Macro excel 2007
Probleme de 0x00ajouter un menu de mise en forme dans un formulaire
Envoi de mails avec SMTP problème avec caractères spéciauxExcel: Problème pour étendre une sélection
Problème d'utilisation d'une librairie JS..Petit problème d'alignement
Plus de sujets relatifs à : problème de mise à jour de la BD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR