hai,
I need a program to insert values into database at the same time it shows error msg on response page while we are giving duplicate entry of a primary key.i want this program in MVC model.can anyone help me...
Thanks&Regards P.Divya
1)form4.jsp:
<html> <form method="post" action="../InsertServlet"> <table> <tr><td>Id:</td><td><input type="text" name="id"></td></tr> <tr><td>Name:</td><td><input type="text" name="name"></td></tr> <tr><td>Address:</td><td><input type="text" name="address"></td></tr> <tr><td>Contact No:</td><td><input type="text" name="contact"></td></tr> <tr><td>Email:</td><td><input type="text" name="email"></td></tr> <tr><td></td><td><input type="submit" value="Submit"></td></tr> </table> </form> </html>
2)InsertServlet.java:
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class InsertServlet extends HttpServlet{
public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException {
res.setContentType("text/html");
int count=0;
PrintWriter out = res.getWriter();
int id=Integer.parseInt(req.getParameter("id"));
String name=req.getParameter("name");
String address=req.getParameter("address");
int phone=Integer.parseInt(req.getParameter("contact"));
String email=req.getParameter("email");
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from employee where id='"+id+"'");
while(rs.next()){
count++;
}
if(count>0){
out.println("<font color=red>Error: Id already exists</font>");
}
else{
int i=st.executeUpdate("insert into employee(id,name,address,contactNo,email) values("+id+",'"+name+"','"+address+"',"+phone+",'"+email+"')");
out.println("<font color=green>Data is successfully inserted!</font>");
}
}
catch(Exception e){
System.out.print(e);
}
}
}