ADO.NET & SQL

alokkin Messages postés 1 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 7 septembre 2005 - 7 sept. 2005 à 18:00
Paladin2107 Messages postés 154 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 5 septembre 2008 - 7 sept. 2005 à 19:13
Salut les gens,

j'ai un petit probleme sur une insertion dans une base access :

Je vous mets la fonction d'écriture dans la base :

Le parametre tableName a la valeur "acl"
le parametre listing a comme valeurs :
"00000000000000000000000000000000"
"-"
"Administrator"
"DssAccessRightFullControlFlag"
0
"862780DC499A14D74FEC7EB2EF317DA2"

et la table a comme tronche :
id : texte(50)
nom : texte(50)
user : texte(50)
droits : texte(50)
interdiction : numérique (1 octet)
id_objet : texte(50)

Public
Sub writeQuery(
ByRef tableName
As
String,
ByRef listing
As ArrayList)



Dim ObjetDataRow
As DataRow



Dim ObjetCommandBuilder
As OleDbCommandBuilder



Dim MyCommand
As OleDbCommand



Dim selectQuery
As
String



Dim i
As
Integer



Dim MyDa
As OleDbDataAdapter


MyDa = rechercheDa(tableName)


ObjetDataRow = data.Tables(tableName).NewRow()



For i = 0
To data.Tables(tableName).Columns.Count - 1


ObjetDataRow(data.Tables(tableName).Columns.Item(i).ColumnName) = listing(i)



Next i


data.Tables(tableName).Rows.Add(ObjetDataRow)


ObjetCommandBuilder =
New OleDbCommandBuilder(MyDa)


MyDa.Update(data, tableName)



End
Sub

Et au moment de l'update, bah pouf "erreur de syntaxe dans l'instruction INSERT INTO" ... alors voila, si vous pouviez m'indiquer soit comment résoudre le probleme, soit comment récupérer la requete SQL générée et peut etre un indice sur ce qui peut ne pas aller.

Merci d'avance.

2 réponses

scortex84 Messages postés 379 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 20 avril 2011 1
7 sept. 2005 à 18:19
Hello,

perso (mais c'est vraiment un avis très personnel), on gagne beaucoup de temps en ecrivant les requetes sql insert et update à la main plutot que de faire appel à l'instruction "update" qui plante 1 fois sur 2 et qui demande d'etre tres tres méthodique.

Donc allez ! sql = "Insert into..."

Tient d'ailleurs, petit sondage ?! Qui pense comme moi, et qui ne pense pas comme moi ?

Bon courage,

Seb.
0
Paladin2107 Messages postés 154 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 5 septembre 2008 1
7 sept. 2005 à 19:13
oui je ss d'accord avec lui.

sert toi du langage sql

INSERT INTO [Table] SET [champs1, champs2) VALUES (valeur1,Valeur2)
tu peux bien sure mettre une condition avec un WHERE champs1 =' & toto & "'" a la suite de ce que j'ai inscrit

Couscous
0
Rejoignez-nous