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

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    mars 2010
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2010
    Messages : 285
    Points : 150
    Points
    150

    Par défaut Insertion enregistrement access

    Bonjour,

    j'ai programme VB.NET qui travail avec un fichier Access. Lorsque j'ajoute un enregistrement dans la table, celui-ci est bien ajouté par contre quand je quitte l'application et que je la redémarre, l'enregistrement à disparu.
    Pareil si je vais voir dans la table du fichier Access, l'enregistrement n'existe plus. Par contre, tant que je ne quitte pas mon programme, l'enregistrement est bien présent.
    Voici mon ajout en VB.NET :

    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
    Public Sub AjoutCodesRue(ByRef codRue As CodesRue)
            Dim cmd As OleDbCommand = Nothing
     
            Try
                If OuvreConnexion() Then
                    cmd = New OleDbCommand("INSERT INTO " & tableCodesRue & " (CrCodActif,CrkeyAlpha,CrCodDistr,CrCodPosta,CrCodInsRu,CrDenomina,CrAncDenom) " & _
                                          "VALUES ('" & codRue.CodActif & "','" & codRue.KeyAlph.Replace("'", "''") & "','" & codRue.CodDistr & "','" & codRue.CodPosta & "','" & codRue.CodInsRue & "','" & codRue.Denomina.Replace("'", "''") & "','" & codRue.AncDenom.Replace("'", "''") & "')", _cnx)
                    cmd.ExecuteNonQuery()
                    cmd = New OleDbCommand("SELECT last(CrKeyIdent) FROM " & tableCodesRue, _cnx)
                    codRue.KeyIdent = CLng(cmd.ExecuteScalar)
                End If
            Catch ex As Exception
            Finally
                FermeConnexion()
            End Try
        End Sub

  2. #2
    Membre éprouvé

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    juin 2002
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : juin 2002
    Messages : 418
    Points : 976
    Points
    976

    Par défaut

    Cela fait bien longtemps que je n'ai pas travaillé avec Access, mais des enregistrements qui sont là, puis qui disparaissent sans DELETE, cela ressemble beaucoup à un problème de transaction.

    Essayez de créer un OleDBTransaction, de l'associer à votre commande et de faire un Commit après votre Insert
    Quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim transaction As OleDbTransaction
    transaction = _cnx.BeginTransaction()
    // création de votre  commande 
    cmd.Transaction = transaction 
    // Exécution du INSERT
    transaction.Commit()
    --
    vanquish

  3. #3
    Membre actif
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    septembre 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2008
    Messages : 171
    Points : 290
    Points
    290

    Par défaut

    Bonjour,

    Oui, ou la base est écrasée à chaque lancement de l'application par une base vierge.
    Ta base de départ ne serait pas dans ton projet en mode 'toujours copier' ?

    Bonne continuation.
    L’aléatoire n’existe pas en informatique, c’est juste un moyen de dire que l’on a pas encore compris.

Discussions similaires

  1. [VB6]Probleme lors de l'ajout d'un enregistrement [access]
    Par Poustik dans le forum VB 6 et antérieur
    Réponses: 25
    Dernier message: 29/06/2006, 16h25
  2. pb trigger lors insertion enregistrment!
    Par tooneygirl dans le forum Oracle
    Réponses: 9
    Dernier message: 06/12/2005, 22h57
  3. [JDBC] Insertion dans Access auto Increment
    Par sg-40 dans le forum JDBC
    Réponses: 4
    Dernier message: 09/11/2005, 22h14
  4. probleme insertion donnée access
    Par nashouille dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/01/2004, 14h45
  5. Insertion enregistrement dans table
    Par naidinp dans le forum ASP
    Réponses: 13
    Dernier message: 11/09/2003, 09h56

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