Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme avec DataAdapter.Update [ Base de données / ADO.NET ] (winni)

jeudi 26 avril 2007 à 17:19:32 | Probleme avec DataAdapter.Update

winni

Bonjour,
Je suis un peu sec , j'arrive pas a trouver pourquoi l'update ne passe pas.
Erreur : Erreur de syntaxe dans l'instruction INSERT INTO.
L'ecriture dans le dataset fonctionne bien ( vérifié en mode debug ).
Si une ame charitable pouvait me donner des pistes.
Merci

Mes déclarations ( dans un module declarations ) :

' ,claration Objet Connexion
Public ObjetConnection As OleDbConnection
' D,claration Objet Commande
Public ObjetCommand As OleDbCommand
' D,claration Objet DataAdapter
Public ObjetDataAdapter As OleDbDataAdapter
' D,claration Objet DataSet
Public ObjetDataSet AsNew DataSet()
'String contenant la 'Requ^te SQL'
Public strSql AsString
' D,claration Objet DataTable
Public ObjetDataTable As DataTable
' D,claration Objet DataRow (ligne)
Public ObjetDataRow As DataRow
'Num,ro de la ligne en cours
Public RowNumber AsInteger'Num,ro de l'enregistrement courant
'Param^tres de connexion . la DB
Public strConn AsString
'Pour recompiler les donn,es modifi,es avant de les remettre dans le '"DataAdapter"
Public ObjetCommandBuilder As OleDbCommandBuilder

La connexion :
PublicSub connection_DB(ByVal Table AsString)
'Initialisation de la cha¼ne de param¦tres pour la connexion
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source='" & AppPath(True) & "Ged.mdb" & "'"
'Initialisation de la cha¼ne contenant l'instruction SQL
strSql = "SELECT " & Table & ".* FROM " & Table
'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
'Avec l'aide de la propri,t, Fill du DataAdapter charger le DataSet
ObjetDataAdapter.Fill(ObjetDataSet, Table)
'Mettre dans un Objet DataTable une table du DataSet
ObjetDataTable = ObjetDataSet.Tables(Table)
EndSub

Et enfin l'écriture avec la mise à jour :

' insertion dans la base T_Ged_Ana
ObjetDataRow = ObjetDataSet.Tables("T_Gedana").NewRow()
ObjetDataRow(
"xref") = T_Ged_Ana.xref
ObjetDataRow(
"tagco"
) = T_Ged_Ana.tagco
....
ObjetDataSet.Tables("T_Gedana").Rows.Add(ObjetDataRow) Tout es ok jusque là.

'Pour modifier les valeurs chang,es dans le DataAdapter
ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
'Mise . jour
ObjetDataAdapter.Update(ObjetDataSet, "T_Gedana")     ---> Ici plantage
'On vide le DataSet et on le 'recharge' de nouveau.
ObjetDataSet.Clear()
ObjetDataAdapter.Fill(ObjetDataSet,
"T_Gedana")
ObjetDataTable = ObjetDataSet.Tables(
"T_Gedana")

 



 

jeudi 26 avril 2007 à 22:45:28 | Re : Probleme avec DataAdapter.Update

surfeurX

l'update ne passe pa parce que l'objet commandBuilder ne la genere pa ... enfin c ce ki me parait logik tu peu essayer en ecrivant toi meme la command avec ton dataAdapter.insertCommand   bonne chance

jeudi 26 avril 2007 à 22:58:32 | Re : Probleme avec DataAdapter.Update

winni

Comment ça ?
Je ne suis pas un pro de ces commandes.

vendredi 27 avril 2007 à 00:38:16 | Re : Probleme avec DataAdapter.Update

winni

Réponse acceptée !
Probleme solutionné, je suis vert de rage !!!!!

En fait j'ai ceci dans mon code :
ObjetDataRow("level") = T_Ged_Ana.xref

J'ai remplacé level par niveau et le champ dans la base access et cela fonctionne.

C'est bizarre car d'habitude Access dit quand il n'aime pas le nom des champs comme Date par exemple.

Bon, je vais pouvoir me coucher , et m'amuser demain avec mes requetes SQL.

jeudi 24 avril 2008 à 18:23:02 | Re : Probleme avec DataAdapter.Update

l0r3nz1

ce dataAdapter.insertCommand   c'est plutot pour creer directement une commande insert, ce qui est plutôt dommage quand on peut utiliser des dataset et les mettre a jour ensuite ou alors tu parle de faire un truc du genre mondataadapter.InsertCommand = moncommanbuilder.GetInsertCommand
puis ( ca me genere des ereurs)
mondataadapter.DeleteCommand = moncommanbuilder.GetDeleteCommand
mondataadapter.UpdateCommand = moncommanbuilder.GetUpdateCommand
et ensuite

        Try
            If dst.HasChanges Then
                dad.ContinueUpdateOnError = True
                MsgBox(" maj : " & dad.Update(dst, table)) 'Update requiert un UpdateCommand valide lors du passage de la collection DataRow avec des lignes modifiées.
            Else
                MsgBox("aucun changement")
            End If

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
  cela dit c'est sur sql server et ca marche pas pour, je ne sais pas encore pourquoi mais ca va venir.



Cette discussion est classé dans : table, objet, objetdataset, claration, gedana


Répondre à ce message

Sujets en rapport avec ce message

Insérer un objet OLE dans une table Access [ par SONY ] Comment insérer une image par exemple dans un champ(de type objet OLE) ?Merci Comment changer de table en cours d'exécution avec ADOC ? [ par Battant ] Bonjour,Comme recommandé pour les contrôle ADOC, je dispose de trois objets.Un objet connexion nomé ADDconnectUn objet command nommé ADDCommandUn obje Comment utiliser les methode d'un objet quand on ne dispose que du nom en string ? [ par angelia ] Bonjour, je pb est simple et je me pose fréquement la question car dans de nombreux cas cela me simplifierai la vie. Exemple : Vous avez une table sur enregistrer un objet ole depuis vb6.0 vers une table access [ par zmaai ] Bonjour à vous tous,J'ai une table dans une base access97 avec un champ ole "champ_ole". Dans mon projet vb6.0 j'ai une form avec un controle ole "OLE Afficher une photo dans access via objet OLE [ par ol69 ] bonjour à tous!j'ai une table access contenant des photos (symboles de produit), une autre table contenant mes produits, j'utilise un formulaire qui a requete sql [ par tof72 ] bonjour à tousJe veut faire une requete sql a partir sur une table.J'ai un objet data qui ouvre une table access.Je veux afficher tous les dupont de l Message d'erreur [ par sensosofttunisiee ] bonjour ,je fait une requete sql pour connecter a une table de la base pour extraire une information , mais chaque fois quand je fait l'execution une ADODB connection et recordset [ par ricomiracle ] Bon j'ai avancer un petit peu avec les objets ADODB recordset et connection. Je pose la question car vous avez l'air de les avoir utiliser plus que mo Caractères spéciaux [ par yannou24 ] Bonjour à tousMes 2 ou 3 derniers pbs ont été résolus assez rapidement sur ce site alors je tente ma chance à nouveau.J'explique : j'ai une table dans problème d'ajout dans listbox avec requète sql (where) [ par labella_tun ] j'ai entrain de developper une application de simulation de croix electronique mais j'ai un prob d'affichage des enregistrement de base de données (un


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.