Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

JSP et base de donnees


C.J.

Messages recommandés

bonjour,

 

j'espere que qulqu'un pourra m'aider. je suis en train de faire un site qui traite des donnees se trouvant dans une base de donnees. j'utilise pour la connection a ma BD le langage JSP.

 

en fait, j'ai cree un formulaire HTML et je dois y incorporer mon code JSP pour reussir a afficher dans mes zones de texte ( tag <input....>) l'element correspondant se trouvant dans la base de donnees. je ne sais pas si je suis vraiment clair....

 

je suis capable d'afficher le contenu de ma BD sur une page differente (page JSP) mais ce que je veux c'est que le resultat reapparaisse dans mon formulaire et aux endroits correspondant.

 

je ne sais vraiment pas comment faire , pourriez vous m'aider , s'il vous plait.

 

voici une partie de mon code :

<%--connection a la base de donnees --%>
<%

Driver  pilote = (Driver) Class.forName("org.postgresql.Driver").newInstance();
 	Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/pm", "postgres", "postgres");

 	Statement instruct = conn.createStatement();
 	
 	ResultSet rs = instruct.executeQuery("SELECT nom from tblphoto");
 	while(rs.next())
 	{
   String name = rs.getString("nom");
   
   out.print("<tr><td>" + name + "</td></tr>");
 	}
 	
 	instruct.close();
 	conn.close(); 
%>

et voici la partie concernant la zone de texte :

<table border="0">

<tr><td>Nom :</td><td><input id="Name" type="text" name="Name" onblur="return checkName()" onfocus="this.value='';"><br></td></tr>

...

</table>

 

 

merci d'avance a toute personne qui pourra m'aider.

Modifié par KewlCat
Lien vers le commentaire
Partager sur d’autres sites

Pour la connexion à la base de données, j'ai configuré une DataSource donc c'est Tomcat qui gère tout à ma place.

Context monContexte = new InitialContext();
Context monContexteEnv = (Context) monContexte.lookup("java:comp/env");
DataSource maDataSource = (DataSource) monContexteEnv.lookup("jdbc/MaDataSource");
Connection maConnection = maDataSource.getConnection();
Statement statement = maConnection.createStatement();

 

Si tu veux repeupler ton formulaire, normalement rien de plus simple puisque tu disposes des valeurs postées dans ta HttpRequest donc tu peux remplir tes champs comme suit.

<%  String strMaValeur = request.getAttribute("maValeur");
if (strMaValeur == null) {
 strMaValeur = "";
} %>
<input type="text" name="maValeur" value="<%= strMaValeur %>">

Mais comme je ne suis pas certain d'avoir bien compris ce que tu voudrais faire...

Tu veux quoi exactment ? Que le formulaire soir rempli avec des données de la base de données lors du premier chargement de la page ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

oui c'est ca. en fait j'aimerais , quand ma page apparait , qu'elle contienne deja les valeurs correspondantes de la premiere ligne de ma BD . je dois aussi pouvoir modifier ces valeurs.

 

donc si mon champ "nom" contient la valeur "Toto" dans ma BD, il faut que cette valeur apparaisse dans la zone de texte de mon formulaire (zone de texte que j'ai cree avec la balise <input...> ) et que je puisse la modifier si je le veux.

 

je sais que mon explication n'etait pas tres clair mais j'espere que maintnant c'est un peu plus facile a comprendre.

 

merci pour ton aide, bonne journee.

Modifié par C.J.
Lien vers le commentaire
Partager sur d’autres sites

Dans ce cas, lorsque tu arrives sur la page, au lieu d'utiliser request.getAttribute() tu lances ta requête et tu affiches ton rs.getString() ...

 

 

Euh... je viens de relire ton code... Déjà, c'est pas propre de tenter de faire des out.print() dans des JSP (si tu veux jouer à ça programme directement une Servlet, ça sera plus clair). Ensuite, le out.print() va t'afficher le contenu sur la console (ou dans les logs, si tu as fermé la console de ton serveur d'appli) et pas sur la page... C'est pas plutôt response.write() que tu voulais utiliser ? ;-)

Lien vers le commentaire
Partager sur d’autres sites

ca y est ! ca fonctionne !!!

 

merci pour tes conseils. pour ce qui est du "out.print" ou du "response.write", j'avoue que je ne sais pas vraiment. je suis nouveau en JSP et je ne cerne pas encore tres bien tout. j'ai fait un "out.print" parce que quelqu'un m'a dit de le faire.

 

enfin...pour l'instant le principal c'est que ca marche ! merci beaucoup, a+

Modifié par C.J.
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...