2017-05-05 73 views
1

为什么不将数据存储到jsp中的数据库中?在下面的代码中找到错误。我想从表单字段获取数据并从jsp页面获取数据并存储到数据库中。如何从jsp中的表中将数据插入数据库中

数据库名称=测试表名=信息列名=名字,姓氏

<%@page import="java.io.*,java.util.*,java.sql.*" %> 
<%@page import="javax.servlet.*,javax.servlet.http.*" %> 
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>connection with database</title> 
    </head> 
    <body> 
     String f_name = request.getParameter("f"); 
     String l_name = request.getParameter("l"); 
     <sql:setDataSource var="sqldata" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test" user="root" password="" /> 
     <sql:update dataSource="${sqldata}" var="result1" > 
      INSERT INTO info(first_name,last_name)VALUES('f_name','l_name'); 
     </sql:update>--%> 


      <input type="text" name="f" /><br /> 
      <input type="text" name="l" /><br /> 
      <input type='submit' /> 
    </body> 
</html> 
+0

你的连接字符串说MySQL的,所以我变成它从SQL Server –

回答

1

都没有碰过JSP很长一段时间。如果我的记忆是正确的,它不应该是这样吗?

<%@page import="java.io.*,java.util.*,java.sql.*" %> 
<%@page import="javax.servlet.*,javax.servlet.http.*" %> 
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%   
     String f_name = request.getParameter("f");   
     String l_name = request.getParameter("l"); 
     pageContext.setAttribute("f_name", f_name); 
     pageContext.setAttribute("l_name", l_name); 
%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>connection with database</title> 
    </head> 
    <body> 
     <c:if test="${f_name != null}"> 
     <sql:setDataSource var="sqldata" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test" user="root" password="" /> 
     <sql:update dataSource="${sqldata}" var="result1"> 
      INSERT INTO info (first_name,last_name) VALUES (?,?); 
      <sql:param value="${f_name}" /> 
      <sql:param value="${l_name}" /> 
     </sql:update> 
     </c:if> 

      <input type="text" name="f" /><br /> 
      <input type="text" name="l" /><br /> 
      <input type='submit' /> 
    </body> 
</html> 
+0

org.apache.jasper.JasperException:javax.servlet.ServletException:javax.servlet.jsp.JspException: INSERT INTO Infor公司(FIRST_NAME, last_name)VALUES(?,?); :柱 '如first_name' 不能为空 \t org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:601) \t org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466 ) \t org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) \t org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) – muneeb

+0

参见更新的代码。 – wannadream

+0

非常感谢主席先生。这是工作本身。上帝保佑你和你的家人 – muneeb

相关问题