我正在尝试连接到数据库并使用JSP在数据库中仅插入一个值。 我制作了具有 2 列的表category
,即 Category_id
和 Category_name
,其中Category_id
是自动递增。 所以我只想在表中插入类别名称。 问题是,我无法插入。以下是我编写的代码:
String cname = request.getParameter("cname");
try{
// Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
// Open a connection
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/infoshare", "root", "");
// Execute SQL query
Statement stmt = conn.createStatement();
String sql;
sql = "INSERT INTO catagory(Catagory_name) VALUES("+cname+")";
//ResultSet rs = stmt.executeQuery(sql);
//out.print(cname);
stmt.executeUpdate(sql);
out.print("<h1>Hello</h1>");
// Clean-up environment
//rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}
尝试了几次后,我得到了如下答案:
String cname = request.getParameter("cname");
String cstatus = request.getParameter("cstatus");
try{
// Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
// Open a connection
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/infoshare", "root", "");
// Execute SQL query
Statement stmt = conn.createStatement();
//
String sql;
sql = "INSERT INTO category(Category_name,status) values('"+cname+"','"+cstatus+"')";
stmt.executeUpdate(sql);
// ResultSet rs = stmt.executeQuery(sql);
response.sendRedirect("add_category.jsp");
// Clean-up environment
//rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}
}