Erreur de syntaxe dans l'instruction INSERT INTO.

trexor Messages postés 134 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 17 octobre 2010 - 13 juil. 2005 à 17:11
fatifleur1986 Messages postés 3 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 21 avril 2007 - 21 mars 2007 à 09:52
Bonjour,

Voilà, ca fais quelques jours que je me bat avec ma base de donnée et ADO. Je n'ai aucun pb pour lire ma base de donnée et l'ecrire dans mon dataset, de meme, j'arrive a modifier mon dataset. Par contre, je n'arrive pas a ecrire mon dataset dans ma base de donnée. J'ai fais un resumé de mon code avec une table nommée couple comportant deux champs : Nom couple et Abscisse. J'ai mis un datagridview nommé datagridview1 et un bouton sur le formulaire. Le code marche si on enleve les lignes suivantes (sinon "Erreur de syntaxe dans l'instruction INSERT INTO.") :

liaison =
New OleDbDataAdapter(
"SELECT Couple.[Nom couple], Couple.Abscisse FROM Couple", base)
liaison.InsertCommand = CmdBuild.GetInsertCommand()
liaison.Update(memoire,
"Couple")

Voici le code :


Public
Class Form1



'declaration des variables



Dim abs
As
Double
'variable representant l'abscisse des couples



Dim memoire
As
New DataSet()
'creation du dataset



Dim NewLigne
As DataRow



Dim cnx
As OleDbConnection



Dim base
As
String



Dim liaison
As
New OleDbDataAdapter



Dim BdProvider =
"Microsoft.Jet.Oledb.4.0"



Dim BdPathDirectory =
"C:\Documents and Settings\remi\Mes documents\architecture navale\bmauric\soft\test\Copie (3) de toto.mauric"



'"""""""""""""""""""""""""""""""""""""""""



'Recupération des couples dans la base de donnée



'"""""""""""""""""""""""""""""""""""""""""



Private
Sub affichageDBCouple(
ByVal requete
As
String,
ByVal table
As
String,
ByVal DataGridViewName
As DataGridView)



Try


base =
"provider=" & BdProvider &
"; " & _



"data source= " & BdPathDirectory



'declaration de la connection


cnx =
New OleDbConnection(base)


cnx.Open()
'ouverture de la connection


liaison =
New OleDbDataAdapter(requete, base)



'charge la table en mémoire


liaison.Fill(memoire, table)



Dim vue
As
New DataView(memoire.Tables(table))


DataGridViewName.DataSource = vue


cnx.Close()



Catch ex
As Exception


MessageBox.Show(ex.Message,
Me.Text)



End
Try



End
Sub



Private
Sub Form1_Load(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles
Me.Load


affichageDBCouple(
"SELECT Couple.[Nom couple], Couple.Abscisse FROM Couple",
"Couple", DataGridView1)



End
Sub



Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click



Dim CmdBuild
As OleDbCommandBuilder


CmdBuild =
New OleDb.OleDbCommandBuilder(liaison)


NewLigne = memoire.Tables(
"Couple").NewRow


NewLigne(0) =
"toto"


NewLigne(1) = 3



' Création de la nouvelle ligne


memoire.Tables(
"Couple").Rows.Add(NewLigne)


liaison =
New OleDbDataAdapter(
"SELECT Couple.[Nom couple], Couple.Abscisse FROM Couple", base)


liaison.InsertCommand = CmdBuild.GetInsertCommand()


liaison.Update(memoire,
"Couple")



End
Sub


End
Class



Pouvez vous m'aider sur cette erreur qui se porte peut être sur ma requete? (pourtant elle est issue du mode ligne d'access ...et j'arrive bien a recupérer les données...)

En esperant ne pas trop vous déranger,
cordialement,

8 réponses

tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
13 juil. 2005 à 17:20
Heuuu Elle est où ta requête insert???
Je ne vois que des SELECT là...

Et si on te répond c'est qu'on a le temps et l'envie de le faire...

Donc tu ne déranges pas
TBBUIM
0
trexor Messages postés 134 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 17 octobre 2010
13 juil. 2005 à 17:54
Merci!
Bas en fais, d'apres les docs .net, je suppose qu'elle est directement incorporé dans :

liaison.InsertCommand = CmdBuild.GetInsertCommand()

je crois que c'est OleDbDataAdapter qui se débrouille pour insérer les données quand le dataset est modifié...enfin je pense... c'est la premiere fois que j'utilise une base de donnée.
si c'est pas ca, je sais pas comment faire pour mettre une requete insert dans mon code.

Encore merci,
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
14 juil. 2005 à 16:49
Salut,


Il y a, entres autres, un exemple de manipulation de bases de données, dans la CSLib.NET que tu peux trouver dans la partie gauche de la page d'accueil du site.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
15 juil. 2005 à 09:20
J'avais pas vu que ct du .net
TBBUIM
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
trexor Messages postés 134 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 17 octobre 2010
16 juil. 2005 à 11:58
Salut canisLupus, j'ai telecharger la cslib, mais je ne vois pas ou se trouve les exemples...j'ai trouver une doc (CSLib.chm) sur les différentes classes, mais point d'exemple ;-) ....ou se cachent t'ils?! ;-)
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
16 juil. 2005 à 12:20
J'avais oublié, il faut être membre club pour télécharger le zip. Les exemples se trouvent dans CSLib.data.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
trexor Messages postés 134 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 17 octobre 2010
16 juil. 2005 à 13:20
Ah, ok, merci pour ta reponse rapide.
donc je suis toujours a la recherche d'une aide, si quelqu'un a une idée du code pour mettre a jour sous vb.net (les lignes peuvent avoir étés modifiées/ajoutées/supprimées) un dataset dans une base de donnée avec un bouton "ok".

Cordialement,
0
fatifleur1986 Messages postés 3 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 21 avril 2007
21 mars 2007 à 09:52




0