java.sql.SQLException:列数与第1行错误的值计数不匹配

时间:2016-12-06 19:47:53

标签: java mysql

我试图在表格中插入数据,但它显示以下错误:

  

java.sql.SQLException:列数与第1行的值计数不匹配

我已经搜索了这个错误,我尝试了所有解决方案,但仍无法使其正常运行。这是我的代码:

class.html

<%@ page import ="java.sql.*"  import= "java.sql.Connection"
%>
<%
    String cname = request.getParameter("name");
    String cstrength = request.getParameter("strength");
    String croom = request.getParameter("room");
    String csection = request.getParameter("section");

    //String available = request.getParameter("bavailable");
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/web",
            "root", "");
    Statement st = con.createStatement();
    //ResultSet rs;
    int i = st.executeUpdate("insert into class(name, strength ,room, section) values ('" + cname + "','" + cstrength + "','" + croom + "','" + csection + "', CURDATE());");
    if (i > 0) {
        //session.setAttribute("userid", user);
        response.sendRedirect("wel.jsp");
       // out.print("Registration Successfull!"+"<a href='index.jsp'>Go to Login</a>");
    } else {
        response.sendRedirect("index.jsp");
    }
%>

class.jsp

Range("T1") = "=VLookup(A2, Sheetname!A2:F171, 4, False)"

2 个答案:

答案 0 :(得分:1)

您的输入语句列出了四列 - namestrengthroomsection - 然后提供了五个值:cname,{{1 },cstrengthcroomcsection

您只需要在insert语句中添加其他列。

答案 1 :(得分:1)

这是您正在运行的查询:

insert into class(name, strength ,room, section) values ('" + cname + "','" + cstrength + "','" + croom + "','" + csection + "', CURDATE());")

你提到了要传递的4个列值(class(name, strength ,room, section)),但是你传递了5个值(CURDATE()的额外值)

在表中添加新列并更新查询以包含该列(即(class(name, strength ,room, section, curdate)))或删除CURDATE()。