<% String content = request.getParameter("area"); String score = request.getParameter("sor"); System.out.print(content); Connection conn = SQLConn.openDB(); %> <% //创建Statement , 执行 SQL 查询 Statement sm=conn.createStatement(); //查询用户名登陆状态 String sql; sql ="select UserId,Name,Login from User_ZC where Login='"+1+"' "; // 执行查询 ResultSet rs = sm.executeQuery(sql); if(rs.next()) { //用户在登陆状态 String name = rs.getString("Name"); int ID = rs.getInt("UserId"); int dbpass = rs.getInt(1); //System.out.println(dbpass); if(dbpass>0){ //用户合法,可以进行评论 final String INSERT_SQL = "INSERT INTO LiuYan(UserId, Score, Word) VALUES (?, ?, ?)"; //向评论表中插入数据 int count = 0; try { PreparedStatement stmt = conn.prepareStatement(INSERT_SQL); { stmt.setInt(1, ID); stmt.setString(2, score); stmt.setString(3, content); count = stmt.executeUpdate(); } }catch (SQLException e) { e.printStackTrace(); } if(count>0){ //插入成功,在页面显示刚才输入的评论 %> 用户名:<%=name%> 满意度:<%=score %> 评论:<%=content %> <% System.out.print("评论存入表LiuYan成功"); }else{ %> 插入出错 <% System.out.print("插入数据失败"); } }else{ System.out.print("未登录,请先登陆再进行预约"); request.getRequestDispatcher("ZCB.jsp").forward(request, response); }} else{ System.out.print("未登录,请先登陆再进行预约"); request.getRequestDispatcher("ZCB.jsp").forward(request, response); } %>为什么会插入数据库失败
时间: 2024-04-27 19:22:21 浏览: 5
在代码中,当插入数据失败时,会输出 "插入出错",同时打印出 "插入数据失败",但是没有给出具体的错误信息,因此很难确定插入失败的具体原因。插入数据失败可能有多种原因,例如 SQL 语句错误、数据库连接异常、数据类型不匹配等。在此建议在 `catch` 代码块中加入打印错误信息的语句,例如 `e.printStackTrace()`,这样可以在控制台输出详细的错误信息,有助于定位问题所在。同时,应该检查数据库表中的字段类型、长度是否与代码中的数据类型匹配,是否存在唯一性约束等问题。
相关问题
<% String str=request.getParameter("i"); double n=Double.parseDouble(str); double s=0; s= %>
这是一个 JSP 脚本块,用于在 JSP 页面中编写 Java 代码。具体来说,这段代码的作用是从 HTTP 请求中获取名为 `i` 的参数,并将其转换为 `double` 类型的变量 `n`;然后声明一个 `double` 类型的变量 `s` 并对其进行计算。
在 `s=` 的后面应该接上一段计算表达式,才能正确地计算变量 `s` 的值。例如,如果想计算 `n` 的平方,可以将 `s=` 后面的空白部分改为 `n * n;`:
```jsp
<%
String str = request.getParameter("i");
double n = Double.parseDouble(str);
double s = 0;
s = n * n;
%>
```
这样就可以将 `i` 参数值的平方赋值给变量 `s`,后续可以在 JSP 页面中使用该变量。需要注意的是,JSP 脚本块中的代码会在服务器端执行,并将输出结果作为 HTML 页面的一部分返回给客户端。因此,在编写 JSP 页面时,需要注意保护用户隐私和防止代码注入等安全问题。
String jiudianmingcheng=request.getParameter("jiudianmingcheng"); String kefangbianhao=request.getParameter("kefangbianhao"); String jiage=request.getParameter("jiage"); String yudingshijian=request.getParameter("yudingshijian"); String yudingtianshu=request.getParameter("yudingtianshu"); String nindexingming=request.getParameter("nindexingming"); String nindedianhua=request.getParameter("nindedianhua"); String nindeshenfenzheng=request.getParameter("nindeshenfenzheng"); String beizhu=request.getParameter("beizhu"); String yonghuming=request.getParameter("yonghuming"); String sql="insert into jiudianyuding(jiudianmingcheng,kefangbianhao,jiage,yudingshijian,yudingtianshu,nindexingming,nindedianhua,nindeshenfenzheng,beizhu,yonghuming) values('"+jiudianmingcheng+"','"+kefangbianhao+"','"+jiage+"','"+yudingshijian+"','"+yudingtianshu+"','"+nindexingming+"','"+nindedianhua+"','"+nindeshenfenzheng+"','"+beizhu+"','"+yonghuming+"') "; connDbBean.executeUpdate(sql); out.print("<script>alert('操作成功!!');location.href='jiudianxinxilist.jsp';</script>");请给代码标上注释
这段代码主要是在进行Java Web开发中,向数据库中插入一条酒店预订信息的操作。具体解释如下:
```java
// 通过request.getParameter()方法获取前端页面传递过来的参数并存储在对应的变量中
String jiudianmingcheng=request.getParameter("jiudianmingcheng");
String kefangbianhao=request.getParameter("kefangbianhao");
String jiage=request.getParameter("jiage");
String yudingshijian=request.getParameter("yudingshijian");
String yudingtianshu=request.getParameter("yudingtianshu");
String nindexingming=request.getParameter("nindexingming");
String nindedianhua=request.getParameter("nindedianhua");
String nindeshenfenzheng=request.getParameter("nindeshenfenzheng");
String beizhu=request.getParameter("beizhu");
String yonghuming=request.getParameter("yonghuming");
// 构建 SQL 语句,将获取到的参数插入到数据库表 jiudianyuding 中
String sql="insert into jiudianyuding(jiudianmingcheng,kefangbianhao,jiage,yudingshijian,yudingtianshu,nindexingming,nindedianhua,nindeshenfenzheng,beizhu,yonghuming) values('"+jiudianmingcheng+"','"+kefangbianhao+"','"+jiage+"','"+yudingshijian+"','"+yudingtianshu+"','"+nindexingming+"','"+nindedianhua+"','"+nindeshenfenzheng+"','"+beizhu+"','"+yonghuming+"') ";
// 执行 SQL 语句,将数据插入到数据库中
connDbBean.executeUpdate(sql);
// 在前端页面弹出提示框,提示操作成功,并跳转到 jiudianxinxilist.jsp 页面
out.print("<script>alert('操作成功!!');location.href='jiudianxinxilist.jsp';</script>");
```
注释已经标在代码中了,主要是通过获取request对象中的参数,构建 SQL 语句并执行插入操作,最后在前端页面弹出提示框并跳转至对应的页面。