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 :

Je ne parviens pas à mettre à jour la base de données


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Je ne parviens pas à mettre à jour la base de données
    Ceci est ma première intervention dans ce merveilleux forum, je commence avec Visual Basic 2008, et il y a plusieurs jours que j'ai ce problème. Je ne parviens pas à mettre à jour la base de données.
    Je visualise les données dans un DataGridView, je les change, et le dataset accepte les modifications, mais ensuite je n'arrive pas à les renvoyer à la base de données.

    Excuser mon français, je suis espagnol.

    Voici le code:



    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Imports System.Data.OleDb
     
    Public Class Form1
        Private ObjetConnection As OleDbConnection
        Private ObjetCommand As OleDbCommand
        Private ObjetDataAdapter As OleDbDataAdapter
        Private ObjetDataSet As New DataSet
        Private ObjetDataTable As New DataTable
        Private strSql As String
        Private strConn As String
        Private ObjetCB As OleDbCommandBuilder
        Private DB As String = "D:\Trabajo\pruebas\listin.mdb"
     
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
            'Initialisation de la chaîne de paramètres pour la connexion
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & DB
            'Initialisation de la chaîne contenant l'instruction SQL
            strSql = "SELECT * FROM Listin"
            'Instanciation d'un Objet Connexion
            ObjetConnection = New OleDbConnection
            'Donner à la propriété ConnectionString les paramètres de connexion
            ObjetConnection.ConnectionString = strConn
            'Ouvrir la connexion
            ObjetConnection.Open()
            'Instancier un objet Commande
            ObjetCommand = New OleDbCommand(strSql)
            'Instancier un objet Adapter
            ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
            'initialiser l'objet Command
            ObjetCommand.Connection() = ObjetConnection
            'initialiser l'objet OleCBComandBuilder (sinon pas d'update)
            ObjetCB = New OleDbCommandBuilder(ObjetDataAdapter)
            'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
            ObjetDataAdapter.Fill(ObjetDataSet, "Listin")
            'Créer une datatable à partir du dataset
            ObjetDataTable = ObjetDataSet.Tables("Listin")
            'Mettre dans le DataGrid une table  DataTable
            DataGridView1.DataSource = ObjetDataTable
        End Sub
     
     
        Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            'Mettre à jour
            ObjetDataAdapter.Update(ObjetDataSet, "Listin")
            End
        End Sub
    End Class


    et voici l'erreur : "Erreur de syntaxe dans 'UPDATE'"

  2. #2
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    bonjour,
    essai ces 2 methodes:

    1- tu dois probabelment instancier ObjetCommandBuilder et de faire passer in en parametre l'objet DataAdapter

    2- tu dois faire appele a la methode GetUpdateCommand de l'objet CommandBuilder

    voici comment faire:

    TonObjetDataAdapter.UpdateCommand ()= TonObjetCommandBuilder.GetUpdateCommand()

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    merci LeZero000, mais il me donne toujours la même erreur : "Erreur de syntaxe dans 'UPDATE'"

  4. #4
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Il faut regarder ce que contient UpdateCommand pour voir l'erreur de syntaxe qu'il y a.

  5. #5
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    EUREKA !!!!, j'ai trouvé la solution.

    Après avoir cherché pendant plusieurs jours dans différents forum, et après la piste que m'a donner LeZero000 sur l'objet CommandBuilder, il faut ajouter ces deux lignes:

    monobjetCommandBuilder.QuotePrefix = "["
    monobjetCommandBuilder.QuoteSuffix = "]"

    Merci à tous !!!!!!!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment mettre à jour une base de données access
    Par nicolas2603 dans le forum VB.NET
    Réponses: 11
    Dernier message: 16/10/2007, 14h40
  2. [C#2.0] Mettre à jour la base de données à partir d'une DataTable
    Par Rodie dans le forum Accès aux données
    Réponses: 6
    Dernier message: 16/05/2007, 14h24
  3. Réponses: 2
    Dernier message: 27/04/2007, 13h45
  4. Réponses: 1
    Dernier message: 15/09/2006, 11h24
  5. [SQL SERVER] Mettre à jour une base de donnée
    Par grellierj dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 24/05/2006, 11h33

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