Problème avec Insert Into et ADO.Net

Résolu
uboat458 Messages postés 2 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 28 juillet 2010 - 28 juil. 2010 à 12:50
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 28 juil. 2010 à 19:04
Bonjour à tous,
Je viens vers vous car j'ai un soucis et je ne trouve aucunes solutions !

Voila, je fait mon formulaire vb.net (2008), une questionnaire rempli par un utilisateur, il choisie les cases a cocher qu'il veux et clique sur enregistrer, je rempli ma table access en conséquence de ses réponses.

Pour la requete sql, pas de soucis je pense mais je ne comprend pas pourquoi il y plantage avec le datareader a priori, je pense que c'est ça. Ma com avec ma base se passe et se trouve dans un module.


Je fait un Insert Into, quand je renseigne des valeurs en 'dur', tout va bien, je crée mon enregistrement (je peut le voir dans ma table), mais je ne parviens pas à lui faire comprendre qu'il doit prendre en compte des variables qui sont alimentées à la place et ça plante.

j'ai une erreur " aucunes valeur n'est trouvé" alors que je sais que mes variables sont alimentés comme il faut, avec un point d'arret, je le vois bien.


voici le code :

Private Sub btnEnregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnregistrer.Click

Dim sSQL As String
Dim drQuestionnaire As OleDbDataReader
Dim cmdSelect As OleDbCommand = New OleDbCommand()

'Rcupration des rponses au questionnaires, Question n1
'Appel de mes procédures ou je récupère la case a cocher qui a été selectionné.
RecupInfoQuestionN1()
RecupInfoQuestionN2()

sSQL = "Insert Into Reponses (q1qualitedevie, q2choixrgions, q3locaux, q4informations, q5themeinformation)"
sSQL &= "Values (ReponseQ1, ReponseQ2, 'test3', 'test4', 'test5')"

OuvertureConnexionQuestionnaire()

With cmdSelect
.Connection = cnCom
.CommandType = CommandType.Text
.CommandText = sSQL
drQuestionnaire = cmdSelect.ExecuteReader(CommandBehavior.CloseConnection)
End With
End Sub



Sur la ligne :
drQuestionnaire = cmdSelect.ExecuteReader(CommandBehavior.CloseConnection)

ça ne plante pas quand je rentre des valeurs en dur et ça plante quand je veux lui dire de prendre mes variables tels que :
Dim ReponseQ1, ReponseQ2 As String

qui sont de porté global à tout mon formulaire vb et pas seulement à une procédure, je le vois bien partout.


Voila les amis, j'espère avoir été assez clair, si vous avez des éléments de réponses, je vous en serez reconnaissant.

Bonne journée.

3 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
28 juil. 2010 à 13:32
Bonjour,

sSQL = "Insert Into Reponses (q1qualitedevie, q2choixrgions, q3locaux, q4informations, q5themeinformation)"
sSQL &= "Values ('" & ReponseQ1 & "', '" & ReponseQ2 & "', 'test3', 'test4', 'test5')"

ou

sSQL = "Insert Into Reponses (q1qualitedevie, q2choixrgions, q3locaux, q4informations, q5themeinformation)"
sSQL &= "Values ('{0}','{1}' , 'test3', 'test4', 'test5')"
sSQL=String.Format(sSql,ReponseQ1,ReponseQ2)


Mon site
3
uboat458 Messages postés 2 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 28 juillet 2010
28 juil. 2010 à 16:14
Salut !

Ca marche, je te remercie.
La synthaxe de ma requete n'était pas complète.

Bonne journée.
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
28 juil. 2010 à 19:04
Bonjour,

Si ma réponse te convient, marque là en tant que "réponse acceptée" ça aidera les autres utilisateurs du forum à trouver leur réponse.

Mon site
0
Rejoignez-nous