IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Problème de mise à jour sur une BD SQLServerCE


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut Problème de mise à jour sur une BD SQLServerCE
    Slt,
    J'ai un problème de mise à jour sur la base de donnée locale que j'ai crée "Database1.sdf". et ceci sachant que mon code fonctionne correctement..

    Les mise à jour ne sont jamais appliquées vraiment au fichier base de donnée .sdf..
    ________________________
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    SqlCeConnection conn = null;
                try
                {
                    if (!(File.Exists("Database1.sdf")))
                        MessageBox.Show("DataBase does not exist");
     
                    conn = new SqlCeConnection("Data Source = Database1.sdf");
                    conn.Open();
                    SqlCeCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "CREATE TABLE testdb1 (col1 INT PRIMARY KEY, col2 NTEXT, col3 MONEY)";
                    cmd.ExecuteNonQuery();
                    cmd.CommandText = "INSERT INTO testdb1 (col1, col2, col3) VALUES (0,'abc', 15.66)";
                    if (cmd.ExecuteNonQuery() > 0)
                        MessageBox.Show("La requette insert a ete bien execute");
                    conn.BeginTransaction();
                }
                catch (SqlCeException ce)
                {
                    ShowErrors(ce);
                }
                finally
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }
                }
    ______________________

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 565
    Par défaut
    Bonsoir.

    Avez vous un message d'erreur ? Comment savez que vos données n'ont pas été insérer en base, pouvez nous décrire votre methode ?

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut
    Citation Envoyé par ddaime Voir le message
    Bonsoir.

    Avez vous un message d'erreur ? Comment savez que vos données n'ont pas été insérer en base, pouvez nous décrire votre methode ?
    Le code s'exécute correctement sans aucune erreur.
    Je vérifie la bonne exécution de la commande en vérifiant le nombre de lignes affectées lors de l'exécution de la requête. et qui est supérieur à 1 pour mon cas.
    Et voici mon code commenté:
    ___________
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    SqlCeConnection conn = null;
                try
                {
                    //Tester si la base de donnée existe
                    if (!(File.Exists("Database1.sdf")))
                        MessageBox.Show("DataBase does not exist");
                    //Création d'une connection
                    conn = new SqlCeConnection("Data Source = Database1.sdf");
                    //Ouverture de la connection
                    conn.Open();
                    //Creation de la commande
                    SqlCeCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "CREATE TABLE testdb1 (col1 INT PRIMARY KEY, col2 NTEXT, col3 MONEY)";
                    cmd.ExecuteNonQuery();
                    //Creation de la requete SQL Insert.
                    cmd.CommandText = "INSERT INTO testdb1 (col1, col2, col3) VALUES (0,'abc', 15.66)";
                    //Tester le bon execution de la commande INSERT en vérifiant le nombre de lignes affectées..
                    //Nombre de lignes affectées doit être supérieur à 0. Pour mon cas, c'est toujours égal à 1
                    //Ce qui explique la bonne execution de la reqûette
                    if (cmd.ExecuteNonQuery() > 0)
                        MessageBox.Show("La requette insert a ete bien execute");
     
                    conn.BeginTransaction();
                }
                catch (SqlCeException ce)
                {
                    ShowErrors(ce);
                }
                finally
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }
                }
    ___________
    Personnellement je pense qu'il faut appliquer les modifications sur la base de donnée c'est pour cela que j'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    conn.BeginTransaction();
    Mais ca ne change rien. :s

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 565
    Par défaut
    Lorsque tu execute ton programme, une copie de la base de données est faite dans le repertoire bin/debug ou bin/release, c'est dans cette base la que tes données sont inserées ou mis a jour pas dans la base que tu vois dans l'explorateur de projet. Vérifie ce point

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut
    Citation Envoyé par ddaime Voir le message
    Lorsque tu execute ton programme, une copie de la base de données est faite dans le repertoire bin/debug ou bin/release, c'est dans cette base la que tes données sont inserées ou mis a jour pas dans la base que tu vois dans l'explorateur de projet. Vérifie ce point
    Ben, j'ai pas trouvé comment vérifié le contenu de la base qui se trouve dans le dossier bin/Debug..
    Sinon, comment dois-je faire pour que mes données soient insérée dans la base mère et non pas dans celle du debug!!

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut
    Citation Envoyé par lebleed Voir le message
    Ben, j'ai pas trouvé comment vérifié le contenu de la base qui se trouve dans le dossier bin/Debug..
    Sinon, comment dois-je faire pour que mes données soient insérée dans la base mère et non pas dans celle du debug!!
    Ah voila, j'ai exclus la base mère et je l'ai remplacé avec celle qui se trouve dans debug.. Tout est OK, vu que la table "testdb1" a été crée et les données sont bien insérées..
    J'ai essayé de nouveau en réalisant un autre insert mais comme toujours rien n'est appliqué à la base mère:s

Discussions similaires

  1. [AC-2000] Problème de mise à jour d'une base sur réseau
    Par Dermochelys dans le forum Runtime
    Réponses: 2
    Dernier message: 04/02/2010, 13h43
  2. Réponses: 2
    Dernier message: 14/05/2007, 10h45
  3. [Requête/SQL]Faire une mise à jour sur une sélection
    Par Xe2007 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/04/2007, 17h03
  4. Problème de mise à jour d'une variable
    Par Claire07 dans le forum Access
    Réponses: 2
    Dernier message: 19/06/2006, 21h40
  5. [MySQL] Problème de mise à jour d'une table
    Par SnickeursMan dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 17/01/2006, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo