我必须将表格中的数据输入到数据库中,我尝试使用此代码,但它现在无法正常工作。我想知道这段代码的问题在哪里
这是代码
连接con = null;
try{
String driveName = "com.mysql.jdbc.Driver";
Class.forName(driveName).newInstance();
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try{
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/onlinequiz","root","root");
Statement statement =con.createStatement();
// int id=Integer.parseInt(request.getParameter("T1"));
int quizID = Integer.parseInt(request.getParameter("quizID"));
String take2 = request.getParameter(“question_type”); String course = request.getParameter(“course”); 字符串级别= request.getParameter(“级别”);
int duration = Integer.parseInt(request.getParameter(“duration”));
String Title = request.getParameter(“Title”); 字符串描述= request.getParameter(“Description”);
statement.executeUpdate(“插入测验(课程,Tiltle,描述,quizID,问题类型,持续时间,级别)值('”+ + +“,”“+ Title +”','“+ Description +”',' “+ quizID +””, ' “+ TAKE2 +”', ' “+持续时间+”', ' “+电平+”')“);
%>
<%
statement.close();
} catch ( Exception e ) {
out.println( "Exception: " + e.getMessage() );
}
// execute the statements even if the exception occurs
finally{
}
%>
我尝试并编辑了这段代码及其工作,我做了一些更改,我希望根据用户在问题类型中选择哪个是下拉框,包含多项选择或真假,我应该写if if语句转发用户可以选择。
答案 0 :(得分:-1)
上面的代码在执行时会抛出异常吗?如果是这样,您可以在帖子中复制/粘贴异常消息吗?
另外,您不应该直接将用户输入添加到您的插入查询中,它很容易受到SQL注入攻击。使用预准备语句,并考虑使用适当的模型 - 视图 - 控制架构,为所有数据库事务使用数据访问层。