Problème avec Insert Into et ADO.Net [Résolu]

Signaler
Messages postés
2
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
28 juillet 2010
-
Messages postés
14779
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 avril 2021
-
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

Messages postés
14779
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 avril 2021
154
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
Messages postés
2
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
28 juillet 2010

Salut !

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

Bonne journée.
Messages postés
14779
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 avril 2021
154
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