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

Messages postés
2
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
28 juillet 2010
- - Dernière réponse : NHenry
Messages postés
14522
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 août 2019
- 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.
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
14522
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 août 2019
133
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
2
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
28 juillet 2010
0
Merci
Salut !

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

Bonne journée.
Commenter la réponse de uboat458
Messages postés
14522
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 août 2019
133
0
Merci
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
Commenter la réponse de NHenry