Comment afficher le résultat d'une requête dans un champs texte asp.net

Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 16 févr. 2006 à 10:24
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 16 févr. 2006 à 15:59
Bonjour,

Je suis débutant en asp.net malgrès quelques lagunes de débutant j'ai réussi à faire ma requete pour afficher le numéro automatique mais voilà comment faire pour afficher le résultat dans un champs texte, c'est surrement tout bête mais bon je n'y arrive pas.
Voilà la requete :



'recuperation du champ numero [Id incident] qui est un num‚ro atomatique



Dim SQLUpdateincident
As
String =
""



Dim valeurId
As
String



Dim MaConnexion =
""


SQLUpdateincident &=
"DECLARE @[Id incident] int;"


SQLUpdateincident &"[Id incident] @@IDENTITY;"


SQLUpdateincident &=
"SELECT @[Id incident] From INCIDENTS;"



' La valeur contenue dans ValeurID est le Num‚ro de l'Id du nouvel Incident


valeurId = myCommand.ExecuteNonQuery()

J'ai un champs textID qui doit afficher le numéro automatique mais voilà comment faire.
Je croyais que faire textid.text.value = "" ca marchai mais non. Quelqu'un peut m'expliquer?

17 réponses

Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 10:37
J'ai trouvé voilà :


TextID.Text = valeurId

Mais j'ai un problème le résultat m'affiche toujours 1 or ce nombre est au moins 174 vus que le dernier n° id est 173 j'ai donc modifier ma requete :


SQLUpdateincident &=
"Select max [Id incident] From INCIDENTS;"

Mais toujours 1 je sais bien que n°1 c'est bien mais moi c'est 174 qu'il doit afficher que faire?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
16 févr. 2006 à 11:09
C'est normal : ExecuteNonQuery va te retourner le nombre de ligne affecté par ta requete (utile lorsqu'on fait des updates/delete) si tu veux recuperer seulement une valeur tu dois faire un ExecuteScalar qui te retournera la premiere colonne de ta premiere ligne, dans ton cas tu as qu'une seule ligne et qu'une seule colonne ca tombe bien :-)

pour recuperer toutes les lignes il faudrais passer par un ExecuteReader


<HR>
Cyril - MVS - MCP ASP
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 11:13
Tu pourrai m'expliquer la démarche à faire, merci

Il faut mettre ExecuteScalar à la place de SQLUpdateincident?
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 11:22
Je me suis trompé g pas remplacé SQLUpdateincident par ExecuteScalar mais ExecuteNonQuery par ExecuteScalar. Le problème maintenant c'est que je n'ai plus rien d'afficher dans la zone texte textID, faut faire une autre démarche?
0

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

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
16 févr. 2006 à 11:26
Remplace cette ligne
valeurId = myCommand.ExecuteNonQuery()
par
valeurId = myCommand.ExecuteScalar


<HR>
Cyril - MVS - MCP ASP
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 11:30
En mettant valeurId = myCommand.ExecuteScalar, je n'ai plus rien d'afficher c'est bizarre :
Voilà le code modifier :



'recuperation du champ numero [Id incident] qui est un num‚ro atomatique



Dim SQLUpdateincident
As
String =
""



Dim valeurId
As
String



Dim MaConnexion =
""


SQLUpdateincident &=
"DECLARE @[Id incident] int;"


SQLUpdateincident &"[Id incident] @@IDENTITY;"


SQLUpdateincident &=
"Select max [Id incident] From INCIDENTS;"



' La valeur contenue dans ValeurID est le Num‚ro de l'Id du nouvel Incident


valeurId = myCommand.ExecuteScalar


TextID.Text = valeurId
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 11:34
Voilà ce que ca donne
Votre incident a bien était enregistré. N° ID Incident à noter
la case textid est vide
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
16 févr. 2006 à 11:48
T'es sur que ta requete SQL retourne bien le bon résultat car la j ene vois rien qui cloche !


<HR>
Cyril - MVS - MCP ASP
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 13:55
ok je vais la tester sous access
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 14:08
J'ai testé la requete, j'ai selectionner la table INCIDENTS et j'ai fait une requete avec [Id incident] et j'ai selectionner le max et voilà ce que acess à afficher en SQL :

"SELECT Max([Id incident])FROM INCIDENTS;"
T'es sure que c'est SQLUpdateincident qu'i faut mettre?
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 14:16
J'exécute déjà une requete pour insérer l'incident. Il faut peut etre rebommer mycommand pour la 2eme requete?

Voilà la 1ere :


GetConnection()



'Permet d'ajouter un incident dans la base de donn‚es en transm‚tant les infos de la page vers la BDD



Dim strSQL
As
String =
"INSERT INTO INCIDENTS(Date_ouverture,Description_incident,Id_theme,Id_service,Utilisateur) values('" & _


Now() &
"','" & desc &
"'," & DropDownListTheme.SelectedItem.Value &
"," & RadioButtonListService.SelectedItem.Value &
",'" & txtUtilisateur.Text &
"')"



Dim myCommand
As
New OleDbCommand(strSQL, myConnection)


myCommand.ExecuteNonQuery()
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 14:25
Même en changeant y'a rien c'est vide pour tester la rester la requete on fait un debug.print mais ca marche comment. Sinon il faut peut être remetre le chemin de la base


AccessDataSourceTheme.DataFile =
"~/App_Data/GIT.mdb"
J'ai essayé mais rien, il faut peut etre changé AccessDataSourceTheme.DataFile?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
16 févr. 2006 à 15:05
J'ai jamais parlé de SQLUpdateincident etc...


Dim myCommand
As
New OleDbCommand("select * from incidents" , myConnection)


textbox1.text = myCommand.ExecuteScalar()

et la tu verras la premiere donnée de la premiere ligne, aprés pour tes requetes sql j'ai pas regardé, mais si c'est la qu'est le problème il vaudrais mieux aller voir sur www.sqlfr.com :) (et en plus je suis vraiment nul en sql, encore plus sur des trucs access :p)

et pour tester la requete tu peux aller dans access il me semble qu'il y a un truc ou l'on peut voir le résultat de la requete


<HR>
Cyril - MVS - MCP ASP
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 15:32
ok je vais tester pour les autres requêtes ca marche t'inkiette pas
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 15:44
Ecoute merci pour ta requête mais même au lancement de ma page il me met textID.text ="1" il me fait quoi là :(
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
16 févr. 2006 à 15:48
Si tu fais avec ma requete c'est normal ! puisque ma requete retourne 1, met si tu modifies ma requete ca devrait etre bon ! je ne vois pas de raison !


<HR>
Cyril - MVS - MCP ASP
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
16 févr. 2006 à 15:59
Merci ca marche,

Je vais faire la fête ca fait 3 jours que je suis dessus youpy :)
0
Rejoignez-nous