代码之家  ›  专栏  ›  技术社区  ›  Yogesh Sati

MySQLSyntaxErrorException:

  •  -1
  • Yogesh Sati  · 技术社区  · 6 年前

    每当我尝试在表单中插入值时,都会出现错误。。。

    com。mysql。jdbc。例外情况。jdbc4.MySQLSyntaxErrorException:“field list”com中的未知列“regno”。mysql。jdbc。例外情况。jdbc4.MySQLSyntaxErrorException:“字段列表”中的未知列“regno” 在太阳下。反映NativeConstructorAccessorImpl。newInstance0(本机方法) 在太阳下。反映NativeConstructorAccessorImpl。newInstance(NativeConstructorAccessorImpl.java:62) 在太阳下。反映授权ConstructorAccessorImpl。newInstance(DelegatingConstructorAccessorImpl.java:45) 在java。lang.reflect。构造函数。newInstance(Constructor.java:423) 在com。mysql。jdbc。Util。HandleneInstance(实用程序java:404) 在com。mysql。jdbc。Util。getInstance(Util.java:387) 在com。mysql。jdbc。SQLError。createSQLException(SQLError.java:939) 在com。mysql。jdbc。MysqlIO。checkErrorPacket(MysqlIO.java:3878) 在com。mysql。jdbc。MysqlIO。checkErrorPacket(MysqlIO.java:3814) 在com。mysql。jdbc。MysqlIO。sendCommand(MysqlIO.java:2478) 在com。mysql。jdbc。MysqlIO。sqlQueryDirect(MysqlIO.java:2625) 在com。mysql。jdbc。连接示例。execSQL(ConnectionImpl.java:2547) 在com。mysql。jdbc。语句impl。ExecuteUpdate内部(StatementImpl.java:1541) 在com。mysql。jdbc。语句impl。executeLargeUpdate(StatementImpl.java:2605) 在com。mysql。jdbc。语句impl。executeUpdate(StatementImpl.java:1469) 位于组织。阿帕奇。jsp。insertRegister\u jsp_jspService(insertRegister\u jsp.java:96) 位于组织。阿帕奇。贾斯珀。运行时。HttpJspBase。服务(HttpJspBase.java:70) 在javax。servlet。http。HttpServlet。服务(HttpServlet.java:728) 位于组织。阿帕奇。贾斯珀。servlet。JspServletWrapper。服务(JspServletWrapper.java:432) 位于组织。阿帕奇。贾斯珀。servlet。JspServlet。serviceJspFile(JspServlet.java:390) 位于组织。阿帕奇。贾斯珀。servlet。JspServlet。服务(JspServlet.java:334) 在javax。servlet。http。HttpServlet。服务(HttpServlet.java:728) 位于组织。阿帕奇。卡特琳娜。果心ApplicationFilterChain。internalDoFilter(ApplicationFilterChain.java:305) 位于组织。阿帕奇。卡特琳娜。果心ApplicationFilterChain。doFilter(ApplicationFilterChain.java:210) 位于组织。阿帕奇。公猫websocket。服务器WsFilter。doFilter(WsFilter.java:51) 位于组织。阿帕奇。卡特琳娜。果心ApplicationFilterChain。internalDoFilter(ApplicationFilterChain.java:243) 位于组织。阿帕奇。卡特琳娜。果心ApplicationFilterChain。doFilter(ApplicationFilterChain.java:210) 位于组织。阿帕奇。卡特琳娜。果心标准包装阀。调用(StandardWrapperValve.java:222) 位于组织。阿帕奇。卡特琳娜。果心标准上下文阀。调用(StandardContextValve.java:123) 位于组织。阿帕奇。卡特琳娜。验证器。AuthenticatorBase。调用(AuthenticatorBase.java:502) 位于组织。阿帕奇。卡特琳娜。果心标准主阀。调用(StandardHostValve.java:171) 位于组织。阿帕奇。卡特琳娜。阀门。错误报告阀。调用(ErrorReportValve.java:100) 位于组织。阿帕奇。卡特琳娜。阀门。检修阀。调用(AccessLogValve.java:953) 位于组织。阿帕奇。卡特琳娜。果心标准发动机阀。调用(StandardEngineValve.java:118) 位于组织。阿帕奇。卡特琳娜。连接器。郊狼适应者。服务(CoyoteAdapter.java:408) 位于组织。阿帕奇。郊狼。http11.AbstractHTTP11处理器。进程(AbstractHttp11Processor.java:1041) 位于组织。阿帕奇。郊狼。AbstractProtocol$AbstractConnectionHandler。流程(AbstractProtocol.java:603) 位于组织。阿帕奇。公猫util。网JIoEndpoint$SocketProcessor。运行(JIoEndpoint.java:310) 在java。util。同时发生的线程池执行器。runWorker(ThreadPoolExecutor.java:1149) 在java。util。同时发生的ThreadPoolExecutor$工作者。运行(ThreadPoolExecutor.java:624) 在java。lang.Thread。运行(Thread.java:748)

    我的JSP文件registerVehicles。jsp是。。。

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Example</title>
        </head>
        <body>
            <form method="post" action="insertRegister.jsp">
                <center>
                <table border="1" width="30%" cellpadding="3">
                    <thead>
                        <tr>
                            <th colspan="2">Register New Vehicle</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>Vehicle Registration Number</td>
                            <td><input type="text" name="vrn" value="" /></td>
                        </tr>
                        <tr>
                            <td>Manufacturer</td>
                            <td><input type="text" name="maker" value="" /></td>
                        </tr>
                        <tr>
                        <tr>
                            <td>Model</td>
                            <td><input type="text" name="model" value="" /></td>
                        </tr>
                        <tr>
                            <td>Manufactured Date</td>
                            <td><input type="date" name="mfd" value="" /></td>
                        </tr>
                        <tr>
                            <td>Fuel Type</td>
                            <td><input type="text" name="ft" value="" /></td>
                        </tr>
    
                            <td><input type="submit" value="submit" /></td>
                            <td><input type="reset" value="Reset" /></td>
                        </tr>
    
                    </tbody>
                </table>
                </center>
            </form>
        </body>
    </html>
    

    插入寄存器。jsp

    <%@ page import ="java.sql.*" %>
    
    <%@page import="java.io.*, java.util.*,java.text.*"%> 
    
    <%
    String vrn=request.getParameter("vrn");
    String maker=request.getParameter("maker");
    String model=request.getParameter("model");
    String mfd=request.getParameter("mfd");
    String ft=request.getParameter("ft");
    
    java.util.Date date = Calendar.getInstance().getTime();  
    DateFormat dateFormat = new SimpleDateFormat("dd-mm-yyyy ");  
    String currDate = dateFormat.format(date);  
    
    Calendar c = Calendar.getInstance();
    c.setTime(new java.util.Date()); // Now use today date.
    c.add(Calendar.DATE, +90);
    
    String validDate = dateFormat.format(c.getTime());
    
    
    
    try
    {
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/puc", "root", "root");
    Statement st=conn.createStatement();
    
    
    int i=st.executeUpdate("insert into login(regno,maker,model,made_year,fuel_type,curr_date,vaalid_to)"+"values('"+vrn+"','"+maker+"','"+model+"','"+mfd+"','"+ft+"','"+currDate+"','"+ validDate +"')");                
    
    out.println("Data is successfully inserted!");
    }
    catch(Exception e)
    {
    System.out.print(e);
    e.printStackTrace();
    }
    %>
    

    有人能帮我找到这个异常的原因吗?

    2 回复  |  直到 6 年前
        1
  •  2
  •   Steve    6 年前

    错误消息 Unknown column 'regno' in 'field list' 指示表中不存在该列 login 。 要么输入的列名错误,要么表的架构错误,要么根本不存在。

        2
  •  0
  •   Birhan Nega    6 年前

    错误显而易见。名为“login”的表没有名为“regno”的列。