adnane_adnane
Messages postés3Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention22 juillet 2012
-
22 juil. 2012 à 05:04
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
22 juil. 2012 à 13:08
bonjour j'ai écris un code simple a fin de tester le fonctionnement de ADO.NET en mode déconnecté, j'ai etulisé olecommandbuilder pour générer le requête de mise à jours automatiquement mais ça n a pas marché, ça me donne l'erreur suivante:
Erreur de syntaxe (opérateur absent) dans
"l'expression '((Au_ID ?) AND ((? 1 AND Author IS NULL) OR (Author = ?)) AND ((? = 1 AND Year Born IS NULL) OR (Year Born = ?)))'."
le code est le suivant:
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Net
Public Module modul1
Const strcon = "provider=microsoft.jet.oledb.4.0;data source=c:\db1.mdb"
Public cx As OleDbConnection
Dim ds As DataSet
Dim ad As OleDbDataAdapter
Dim cm As OleDbCommand
Dim cmb As OleDbCommandBuilder
'*********************************************************************
Public Sub main()
connection()
modification()
enregistrement()
End Sub
Sub connection()
cx = New OleDbConnection(strcon)
cm = New OleDbCommand("select * from authors", cx)
ad = New OleDbDataAdapter
ad.SelectCommand = cm
ds = New DataSet
ad.Fill(ds, "authors")
End Sub
Sub modification()
'ds.Tables(0).Rows(1).Item(1) = "zaka"
Dim Matable As DataTable
Matable = ds.Tables(0)
'Dim LaLigne As DataRow()
'LaLigne Matable.Select("au_id" & 2)
'LaLigne(0)(1) = "zaka"
Matable.Rows(3).Item(1) = "zak"
Form1.DataGrid1.DataSource = ds.GetChanges
End Sub
Sub enregistrement()
cmb = New OleDbCommandBuilder(ad)
ad.UpdateCommand = cmb.GetUpdateCommand
ad.Update(ds, "authors")
cx.Close()
End Sub
end module
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 22 juil. 2012 à 13:08
Bonjour,
Rapidement, je pense que le champ "Year Born" pose problèmé à caude de l'espace dedans.
Une des règles de base quand on nomme un champ dans une BDD, c'est de na pas mettre d'espace dedans.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site