Bonjour tout le monde
je suis debutante en j2ee, je travaille avec jsp/servlet. mon probleme c'est l'affichage d'une table de la base de données. je ne sais pa comment proceder pour le faire.. eest ce que quelqu'un peu m'aider???
merci d'avance
Bonjour tout le monde
je suis debutante en j2ee, je travaille avec jsp/servlet. mon probleme c'est l'affichage d'une table de la base de données. je ne sais pa comment proceder pour le faire.. eest ce que quelqu'un peu m'aider???
merci d'avance
déja il faut identifier ta base de données oracle, sqlserveur, mysql ?
en fonction de ta base de données tu devras utiliser des drivers jdbc différents et possèdes tu login et mdp te permettant de t'y connecter ?
j'utilise une BD postgresql, j'ai pas de probleme dans la connection et les drivers à utiliser, mai putot je veus savoir les etapes à suivre aprés m connecter à la base..
pour préciser de plus,j'ai une tables dans ma base de données et je veux afficher les informations sous forme d'un table.. je ne sais pas qu'est que je dois ecrire dans ma jsp et ma servlet..
merci d'avance
Un petit bout de code à titre d'exemple
Après a toi de voir comment tu veux stocker les données récupérées et stocké dans une arrayList un hashMap, vector que tu peux passe ensuite par la request à ta jsp pour afficher les données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 try { PreparedStatement preparedStatement = null; ResultSet resultSet = null; String request ="select nom prenom from toto where id = ?" ; MonObjetConnection.prepareStatement(request); // Remplissage du paramètre. preparedStatement.setString(1,monID); //execution de la requête resultSet = preparedStatement.executeQuery(); //on récupère les lignes while(resultSet.next()) { System.out.println(resultSet.getString("nom")); } //on ferme tout if(resultSet != null) resultSet.close(); if(preparedStatement != null) preparedStatement.close(); } catch(SQLException sqlex) { sqlex.printStackTrace(); } finally { //fermeture de la connexion }
Si tu veux le faire uniquement avec une page JSP, ça pourrait ressembler à ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@page import="com.database.DataBaseUtils"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.ResultSetMetaData"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Connection"%> <html> <body> <form> <% String tableName = request.getParameter("tableName"); if (tableName == null) tableName = ""; %> Table à traiter : <input type="text" name="tableName" value="<%=tableName%>"/> </form> <% if (tableName.trim().length() > 0) { Connection connection = null; try { connection = DataBaseUtils.getConnection(); Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("select * from " + tableName); ResultSetMetaData rsmd = rs.getMetaData(); out.write("<table>"); out.write("<tr style=\"background:#f0f0f0\">"); for (int i = 1; i <= rsmd.getColumnCount(); i++) { out.write("<td>" + rsmd.getColumnName(i) + "</td>"); } out.write("</tr>"); while (rs.next()) { out.write("<tr>"); for (int i = 1; i <= rsmd.getColumnCount(); i++) { out.write("<td>" + rs.getString(i) + "</td>"); } out.write("</tr>"); } out.write("</table>"); } catch (Exception e) { } finally { DataBaseUtils.closeConnection(connection); } } %> </body> </html>
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
merci beaucoup
voilà un extrait du code que j'avais essayé:
Alors il m'affiche l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 //j'ai fais ma connexion //puis j'ai preparer ma requete: PreparedStatement stm = con.prepareStatement ("Select * From maTable"); ResultSet rs = stm.executeQuery(); //retourner le nombre total d'enregistrement int tot=rs.getRow(); //l'affichage de maTable <table width="200" border="1"> <tr> <td>Numero</td> </tr> <% for (int h=0; h<tot; h++) { rs.next(); if (rs.getRow() > tot) { break; } %> <tr> <td><%=rs.getString(1)%></td> </tr> <% } %> </table>
javax.servlet.ServletException: L''opération nécessite un scrollable ResultSet, mais ce ResultSet est FORWARD_ONLY.
est ce ke vous pouvez m'aidez????
Retire les rs.getRow(), l'avancement du curseur se fait par rs.next()
Tu n'as pas besoin de connaître le nombre de lignes pour itérer, un simple
suffit...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ResultSet rs = stmt.executeQuery(...); while (rs.next()) { ... ici, tu traites un enregistrement }
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
wi ça marche!! merciii infiniment
bonjour,je suis débutante en développement.je développe une page web avec jsp/servlet(eclipse) et je veux afficher mes données de ma table de base de donnée sous form d'un tableau.aidez moi s'il vous plait c trés important
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager