begin process at 2008 05 16 04:54:57
1 173 215 membres
57 nouveaux aujourd'hui
13 970 membres club

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)

Probleme avec DataAdapter.Update le 26/04/2007 17:19:32

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 chaOne de paramStres pour la connexion
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source='" & AppPath(True) & "Ged.mdb" & "'"
'Initialisation de la chaOne contenant l'instruction SQL
strSql = "SELECT " & Table & ".* FROM " & Table
'Instanciation d'un Objet Connexion
ObjetConnection = New OleDbConnection()
'Donner . la propri,t, ConnectionString les paramStres 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")

 



 

Re : Probleme avec DataAdapter.Update le 26/04/2007 22:45:28

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

Re : Probleme avec DataAdapter.Update le 26/04/2007 22:58:32

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

Re : Probleme avec DataAdapter.Update le 27/04/2007 00:38:16

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.

Re : Probleme avec DataAdapter.Update le 24/04/2008 18:23:02

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.


Classé sous : table, objet, objetdataset, claration, gedana

Participer à cet échange

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS