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

VB.NET Discussion :

DATASET - ACCEPTATION DE MODIF


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 132
    Par défaut DATASET - ACCEPTATION DE MODIF
    Bonjour,
    j'ajoute des données dans un dataset mais lorsque que j'utilise "accepchanges", les données ne sont pas sauvegardées... je me connecte sur une base access avec une clé primaire sur la table utilisée.
    Je n'ai aucun message d'erreur et la données apparait bien en visuel dans le datagridview.


    voici mon code :

    Dim cmd As OleDb.OleDbCommand = New OleDbCommand

    'création de la connexion à la base de données
    Dim connexion_string As String = "provider=Microsoft.jet.OLEDB.4.0;data source=C:\WillUpdate\PRICE.mdb"

    Dim maconnexion As OleDb.OleDbConnection = New OleDbConnection
    maconnexion.ConnectionString = connexion_string

    'charge la connexion a la bdd dans la future commande
    cmd.Connection = maconnexion

    'charge la liste globale des véhicules
    cmd.CommandText = "select * from Statut_106_table"

    'création du dataset
    Dim ds As DataSet = New DataSet

    'création du table adapter
    Dim da As OleDbDataAdapter = New OleDbDataAdapter()
    'charge le table adapter avec la commande sql
    da.SelectCommand = cmd

    'charge le dataset
    da.Fill(ds, "Statut_106_table")

    'attache le dataset au datagrid
    DataGridView1.DataSource = ds.Tables("Statut_106_table")

    'ajout d'une nouvelle ligne dans la base
    Dim nouvelle_ligne As DataRow
    nouvelle_ligne = ds.Tables("Statut_106_table").NewRow
    nouvelle_ligne("Code_106") = "AAA"
    nouvelle_ligne("Descriptions") = "TEST_AAA"
    ds.Tables("Statut_106_table").Rows.Add(nouvelle_ligne)
    ds.Tables("Statut_106_table").AcceptChanges()
    'da.Update(ds.Tables("Statut_106_table"))

    'ferme la connexion
    maconnexion.Close()


    Merci d'avance de votre aide.

  2. #2
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    Salut

    Première des choses, mets tes exemples de code entre les balises de code (le # dans l'éditeur de message)

    Pour ton problème, lorque je veux updater une table SQL à partir des modifications que j'ai fait dans un DataGridView, j'apelle le Update du TableAdapter avec le dataset en paramètre. Je te suggère donc d'essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    da.Update(ds.Tables("Statut_106_table"))
    Donne moi des nouvelles

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 132
    Par défaut
    BOnjour,

    merci pour la réponse et le "#".

    Donc j'ai déjà utilisé l'update du table adapter, il est en commentaire dans mon code car cela ne fonctionne pas avec...

    Si tu as une idée du problème, merci d'avance

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 132
    Par défaut
    Lorsque je retire #ds.Tables("Statut_106_table").AcceptChanges()#
    et que j'utilise uniquement l'update du table adapter : #da.Update(ds.Tables("Statut_106_table"))#

    j'ai le message "update requiert un insertcommand valide lors du passage de la collection Datarow avec de nouvelles lignes.

    merci d'avance de votre aide

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 132
    Par défaut
    OK !!! j'ai trouvé j'avais oublié de créer la comandbuilder avant :

    pour info :

    # Dim bldr As OleDbCommandBuilder
    bldr = New OleDbCommandBuilder(da)

    da.Update(ds.Tables("Statut_106_table"))#

  6. #6
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    Content d'avoir put t'être utile

    N'oublie pas le bouton "Résolu" en bas du sujet

Discussions similaires

  1. [FB4] Acceptation des modifications impossible
    Par polo31 dans le forum EDI/Outils
    Réponses: 2
    Dernier message: 12/06/2012, 14h34
  2. Réponses: 1
    Dernier message: 26/07/2010, 08h45
  3. [WD-2003] Accepter la modification
    Par formabox dans le forum VBA Word
    Réponses: 2
    Dernier message: 15/09/2009, 16h21
  4. [C#] ComboBox/Datagrid/Dataset == Selection et modif
    Par Izzy's dans le forum Windows Forms
    Réponses: 12
    Dernier message: 11/08/2006, 15h20

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