i face senario look kie as follows; 1)i write a code in jsp to retrieve the data from database. 2)the out put file is obviously a jsp page and shows the output in table manner. 3) now i want to make the instance of the data present in that paarticular table.... how i do that?
The given code retrieves the data from the database and display it into html table.
<%@page import="java.sql.*"%> <table border=1> <tr><th>Name</th><th>Age</th><th>Address</th><th>Phone No</th></tr> <% try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:student","",""); String sql = "select * from data where id= ?"; PreparedStatement stmt = con.prepareStatement(sql); stmt.setInt(1, 1); ResultSet rs = stmt.executeQuery(); if(rs.next()){ %> <tr><td><%=rs.getString("name")%></td><td><%=rs.getInt("Age")%></td><td><%=rs.getString("address")%></td><td><%=rs.getInt("phoneNo")%></td></tr> <% } rs.close(); stmt.close(); con.close(); } catch(Exception e){ System.out.println(e); } %> </table>
The given code retrieve data from database and display in the html table. At each row, there is a button which consists of that particular id. When the user clicks the particular edit button, that data will get shown in another page and allow the user to update the record.
1)application.jsp:
<%@ page import="java.sql.*" %> <html> <head> <script language="javascript"> function editRecord(id){ var f=document.form; f.method="post"; f.action='edit.jsp?id='+id; f.submit(); } </script> </head> <body> <br><br> <form method="post" name="form"> <table border="1"> <tr><th>Name</th><th>Address</th><th>Contact No</th><th>Email</th></tr> <% Connection con = null; String url = "jdbc:mysql://localhost:3306/"; String db = "test"; String driver = "com.mysql.jdbc.Driver"; String userName ="root"; String password="root"; int sumcount=0; Statement st; try{ Class.forName(driver).newInstance(); con = DriverManager.getConnection(url+db,userName,password); String query = "select * from employee"; st = con.createStatement(); ResultSet rs = st.executeQuery(query); %> <% while(rs.next()){ %> <tr><td><%=rs.getString(2)%></td> <td><%=rs.getString(3)%></td> <td><%=rs.getString(4)%></td> <td><%=rs.getString(5)%></td> <td><input type="button" name="edit" value="Edit" style="background-color:green;font-weight:bold;color:white;" onclick="editRecord(<%=rs.getString(1)%>);" ></td> </tr> <% } %> <% } catch(Exception e){ e.printStackTrace(); } %> </table> </form> </body> </html>
2)edit.jsp:
<%@page language="java"%> <%@page import="java.sql.*"%> <form method="post" action="update.jsp"> <table border="1"> <tr><th>Name</th><th>Address</th><th>Contact No</th><th>Email</th></tr> <% String id=request.getParameter("id"); int no=Integer.parseInt(id); int sumcount=0; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); String query = "select * from employee where id='"+no+"'"; Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(query); while(rs.next()){ %> <tr> <td><input type="text" name="name" value="<%=rs.getString("name")%>"></td> <td><input type="text" name="address" value="<%=rs.getString("address")%>"></td> <td><input type="text" name="contact" value="<%=rs.getInt("contactNo")%>"></td> <td><input type="text" name="email" value="<%=rs.getString("email")%>"></td> <td><input type="hidden" name="id" value="<%=rs.getString(1)%>"></td> </tr> <tr> <td><input type="submit" name="Submit" value="Update" style="background-color:#49743D;font-weight:bold;color:#ffffff;"></td> </tr> <% } } catch(Exception e){} %> </table> </form>
continue..
3)update.jsp:
<%@page import="java.sql.*"%> <% String ide=request.getParameter("id"); int num=Integer.parseInt(ide); String name=request.getParameter("name"); String address=request.getParameter("address"); int contact=Integer.parseInt(request.getParameter("contact")); String email=request.getParameter("email"); try{ Connection conn = null; Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root", "root"); Statement st=null; st=conn.createStatement(); st.executeUpdate("update employee set name='"+name+"',address='"+address+"',contactNo="+contact+",email='"+email+"' where id='"+num+"'"); response.sendRedirect("/examples/jsp/application.jsp"); } catch(Exception e){ System.out.println(e); } %>
Ads