Shaji SS
Shaji SS

Reputation: 102

How to insert values in MySql Using Java Servlet

I add full code Here. Check the following code which I am using to insert values in MySql. While executing the program, Values are not inserting.

Database datab.java

Statement st=null;
Class.forName("com.mysql.jdbc.Driver");
     Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/employee","root", "1234");
     st=con.createStatement();

Servlet Code

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();

    String s = "http://localhost:" + request.getServerPort() + ""
            + request.getContextPath()+"/Emp";

String a,b,c,d,e;

    try {
         a=request.getParameter("t1");
        b=request.getParameter("t2");
         c=request.getParameter("t3");
          d=request.getParameter("t4");
          e=request.getParameter("t5");
         System.out.println(a);
        datab dt = new datab();

     dt.st.execute("insert into employee(eid,emp_name,emp_age,emp_desig,emp_salary) values(a,b,c,d,e)");

     response.sendRedirect(s);
     } catch(Exception ex){ex.printStackTrace();
        out.close();
    }          
} 

Upvotes: 0

Views: 1743

Answers (1)

SparkOn
SparkOn

Reputation: 8946

Assuming a,b,c,d,e all are string Replace

insert into employee(eid,emp_name,emp_age,emp_desig,emp_salary) values(a,b,c,d,e)

with

insert into employee(eid,emp_name,emp_age,emp_desig,emp_salary) 
values('"+a+"','"+b+"','"+c+"','"+d+"','"+e+"')

Instead of something like this

dt.st.execute

You dont you make the datab class to return connectionObject and using that object create the Statement Object and execute the statements.

Please stop using Statement and take advantage of PreparedStatement something like this

String query = "insert into employee(eid,emp_name,emp_age,emp_desig,emp_salary) 
    values(?,?,?,?,?)"
PreparedStatement statement = connection.prepareStatement(query);
statement.setString(1, a);
statement.setString(2, b);
statement.setString(3, c);
statement.setString(4, d);
statement.setString(5, e);
statement.executeUpdate();

Upvotes: 2

Related Questions