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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [VB.NET] Problème étrange...Aide svp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB.NET] Problème étrange...Aide svp

n°1174038
xzndr
Posté le 10-08-2005 à 16:34:19  profilanswer
 

Bonjour!  J'ai un problème un peu étrange...  Je me connecte sur une base de données access 2003 je remplis mon dataset.  Je modifie, par exemple, le champ de la ligne 1 et de la colonne 1: pas de problème.  Par contre, dès que j'essaie de modifier un champ des autres colonnes (sur n'importe quelle ligne), je reçois un message d'erreur:
 

Citation :

Erreur de syntaxe dans l'instruction UPDATE


 
J'utilise un oledbCommandBuilder puisque ma commande est très simple (SELECT * from tabUsers)
 
Voici mon code:
 


        Dim Connection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= ...\DB\DataBase.mdb;" )
         
        Dim tabUsersCommand As New OleDbCommand("SELECT * from tabUsers", Connection)
         
        Dim DataSet As New DataSet
 
        Connection.Open()
 
        Dim DataAdapter As New OleDbDataAdapter(tabUsersCommand)
 
        DataAdapter.Fill(DataSet, "tabUsers" )
        DataAdapter.FillSchema(DataSet.Tables(0), SchemaType.Mapped)
 
        Connection.Close()
         
        'Modifie les valeurs d'une rangée
        'Colonne USERNAME
        DataSet.Tables(0).Rows(1).Item(0) = "dnkjdmvddf"
        'Colonne PASSWORD
        DataSet.Tables(0).Rows(1).Item(1) = "jadkdnvdo"
        'Colonne NO_GROUP
        DataSet.Tables(0).Rows(1).Item(2) = 1
 
        Try
            If DataSet.HasChanges Then
                Dim cmdBuilder As New OleDbCommandBuilder(DataAdapter)
                DataAdapter.Update(DataSet.Tables(0).GetChanges())
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try


 
Vraiment, je suis dépassé  :??:  , il y a près de 5 heures que je suis coincé sur ce bogue que je ne comprend pas du tout.  Voyez-vous dans mon code quelque chose que je ne fais pas de correct?


Message édité par xzndr le 10-08-2005 à 16:36:50
mood
Publicité
Posté le 10-08-2005 à 16:34:19  profilanswer
 

n°1174118
xzndr
Posté le 10-08-2005 à 17:32:13  profilanswer
 

Personne n'a une idée de ce qui pourrait créer ce problème?

n°1174182
xzndr
Posté le 10-08-2005 à 19:00:52  profilanswer
 

J'AI TROUVÉ LA SOLUTION!!! :)
 
Mes colonnes dans access portaient respectivement les noms suivants:
 
USERNAME   PASSWORD  et GROUP
 
Je viens de déduire que nous ne pouvons pas mettre "PASSWORD" comme nom de champ puisqu'en le changeant pour PW, tout fonctionnne!!!!
 
Étrange, non?? Quelqu'un a une idée pourquoi?

n°1174216
gatsusat
Posté le 10-08-2005 à 21:24:37  profilanswer
 

peut etre que password est un mot réservé et qu'il ne peut être utilisé comme nom de table

n°1174232
xzndr
Posté le 10-08-2005 à 21:51:56  profilanswer
 

Probablement...  alors le problème résiderait dans ADO.NET et non dans Access puisque Access ne me donne aucun message d'erreur... ce n'est que le OleDbDataAdapter qui m'en donne.

n°1175257
FlorentG
Unité de Masse
Posté le 12-08-2005 à 15:16:26  profilanswer
 

xzndr a écrit :

J'AI TROUVÉ LA SOLUTION!!! :)
 
Mes colonnes dans access portaient respectivement les noms suivants:
 
USERNAME   PASSWORD  et GROUP
 
Je viens de déduire que nous ne pouvons pas mettre "PASSWORD" comme nom de champ puisqu'en le changeant pour PW, tout fonctionnne!!!!
 
Étrange, non?? Quelqu'un a une idée pourquoi?


Pas la peine de s'embêter à renommer le champ, suffit de l'entourer avec [ et ] dans les requêtes. Et pour un CommandBuilder, il faut mettre ça pour qu'il les ajoute tout seul :

CmdBuilder.QuotePrefix = "["
CmdBuilder.QuoteSuffix = "]"


Message édité par FlorentG le 12-08-2005 à 15:16:49
n°1175259
FlorentG
Unité de Masse
Posté le 12-08-2005 à 15:17:49  profilanswer
 

Sinon y'a la liste des noms réservés, mais avec l'escape avec [ et ], on s'en fout :)

n°1176593
xzndr
Posté le 15-08-2005 à 17:21:42  profilanswer
 

Merci beaucoup je ne savais pas que l'on pouvait se servir de préfixes.  Je m'en servirai la prochaine fois! :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [VB.NET] Problème étrange...Aide svp

 

Sujets relatifs
Problème avec un script de téléchargementProblème avec $_GET
Problème de tableau arrayProbleme de header(...)
Problème pour parser une page web au niveau de fgets().Probleme DBGrid Delphi selection cellule
Probleme de compilation Visual C++, enfin je croisprobleme communication client serveur
[VB .NET]Attaquer une DLL C++ et lui passer et récupérer des StringsProblème de variables
Plus de sujets relatifs à : [VB.NET] Problème étrange...Aide svp


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