jsp页面传值到数据库的问题
做了一个简单的jsp页面向数据库传递数据的系统addvip.html代码:<html><head><title>增加VIP顾客</title></head><body><...
做了一个简单的jsp页面向数据库传递数据的系统
addvip.html代码:
<html>
<head>
<title>增加VIP顾客</title>
</head>
<body>
<center>
<h1><font face="新宋体">增加VIP客户</font></h1>
<table>
<tr><td>VIP号码:</td><td><input type="text" name="textfield1"></td></tr>
<tr><td>VIP名字:</td><td><input type="text" name="textfield2"></td></tr>
<tr><td>VIP折扣:</td><td><input type="text" name="textfield3"></td></tr>
<tr><form action="addvip2.jsp"><td align=right><input type="submit" name="Submit" value="提交"></td></form>
<form action=""><td align=right><input type="reset" name="Reset" value="重置"></td></form></tr>
</table>
</center>
</body>
</html>
addvip2.jsp代码:
<%@page contentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%>
<html>
<body>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:\\TestDB.mdb";
Connection con=DriverManager.getConnection(url);
String textfielda="";
String textfieldb="";
String textfieldc="";
textfielda=request.getParameter("textfield1");
textfieldb=request.getParameter("textfield2");
textfieldc=request.getParameter("textfield3");
String sql="insert into viplist values(?,?,?)";
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1,textfielda);
ps.setString(2,textfieldb);
ps.setString(3,textfieldc);
ps.executeUpdate();
con.close();
%>
</body>
</html>
可以运行成功,但是看数据库会发现插入的值全部是NULL,而不是自己输入的三个值,请问问题出在哪里?新手,谢谢 展开
addvip.html代码:
<html>
<head>
<title>增加VIP顾客</title>
</head>
<body>
<center>
<h1><font face="新宋体">增加VIP客户</font></h1>
<table>
<tr><td>VIP号码:</td><td><input type="text" name="textfield1"></td></tr>
<tr><td>VIP名字:</td><td><input type="text" name="textfield2"></td></tr>
<tr><td>VIP折扣:</td><td><input type="text" name="textfield3"></td></tr>
<tr><form action="addvip2.jsp"><td align=right><input type="submit" name="Submit" value="提交"></td></form>
<form action=""><td align=right><input type="reset" name="Reset" value="重置"></td></form></tr>
</table>
</center>
</body>
</html>
addvip2.jsp代码:
<%@page contentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%>
<html>
<body>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:\\TestDB.mdb";
Connection con=DriverManager.getConnection(url);
String textfielda="";
String textfieldb="";
String textfieldc="";
textfielda=request.getParameter("textfield1");
textfieldb=request.getParameter("textfield2");
textfieldc=request.getParameter("textfield3");
String sql="insert into viplist values(?,?,?)";
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1,textfielda);
ps.setString(2,textfieldb);
ps.setString(3,textfieldc);
ps.executeUpdate();
con.close();
%>
</body>
</html>
可以运行成功,但是看数据库会发现插入的值全部是NULL,而不是自己输入的三个值,请问问题出在哪里?新手,谢谢 展开
4个回答
展开全部
你所说的运行成功根本就不是成功,只是没报错误而已。
你第一个页面都没有把那三个 VIP号码:VIP名字:VIP折扣:写在form里,表单提交后只有包含在<form></form>里的才能通过request.getParameter()获得值。
而且form里的action的值也不能为空啊,应该是你提交数据的地址,就是action="addvip2.jsp"
action为空,提交地址都没有,当然不会报什么错误了。
你第一个页面都没有把那三个 VIP号码:VIP名字:VIP折扣:写在form里,表单提交后只有包含在<form></form>里的才能通过request.getParameter()获得值。
而且form里的action的值也不能为空啊,应该是你提交数据的地址,就是action="addvip2.jsp"
action为空,提交地址都没有,当然不会报什么错误了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在addvip.html里修改form,改为<form action="addvip2.jsp">并且,form要包含要提交的项目。
第二种方法是可以用script,用function定义一个函数test(){form的名字.action="addvip2.jsp"}
然后在你的那个submit那里可以不用定义为submit,可以定义为button,然后点击button跳到test()里面。不懂再问我。我给你项目看。
第二种方法是可以用script,用function定义一个函数test(){form的名字.action="addvip2.jsp"}
然后在你的那个submit那里可以不用定义为submit,可以定义为button,然后点击button跳到test()里面。不懂再问我。我给你项目看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<table>
<tr><td>VIP号码:</td><td><input type="text" name="textfield1"></td></tr>
<tr><td>VIP名字:</td><td><input type="text" name="textfield2"></td></tr>
<tr><td>VIP折扣:</td><td><input type="text" name="textfield3"></td></tr>
<tr><form action="addvip2.jsp"><td align=right><input type="submit" name="Submit" value="提交"></td></form>
<form action=""><td align=right><input type="reset" name="Reset" value="重置"></td></form></tr>
</table>
改成如下:
<table>
<form action="addvip2.jsp">
<tr><td>VIP号码:</td><td><input type="text" name="textfield1"></td></tr>
<tr><td>VIP名字:</td><td><input type="text" name="textfield2"></td></tr>
<tr><td>VIP折扣:</td><td><input type="text" name="textfield3"></td></tr>
<tr><td align=right><input type="submit" name="Submit" value="提交"></td>
<td align=right><input type="reset" name="Reset" value="重置"></td></tr>
</form>
</table>
填写数据的控件一定要放在<form></form>中间,这样提交表单的时候,才能把数据提交上去
<tr><td>VIP号码:</td><td><input type="text" name="textfield1"></td></tr>
<tr><td>VIP名字:</td><td><input type="text" name="textfield2"></td></tr>
<tr><td>VIP折扣:</td><td><input type="text" name="textfield3"></td></tr>
<tr><form action="addvip2.jsp"><td align=right><input type="submit" name="Submit" value="提交"></td></form>
<form action=""><td align=right><input type="reset" name="Reset" value="重置"></td></form></tr>
</table>
改成如下:
<table>
<form action="addvip2.jsp">
<tr><td>VIP号码:</td><td><input type="text" name="textfield1"></td></tr>
<tr><td>VIP名字:</td><td><input type="text" name="textfield2"></td></tr>
<tr><td>VIP折扣:</td><td><input type="text" name="textfield3"></td></tr>
<tr><td align=right><input type="submit" name="Submit" value="提交"></td>
<td align=right><input type="reset" name="Reset" value="重置"></td></tr>
</form>
</table>
填写数据的控件一定要放在<form></form>中间,这样提交表单的时候,才能把数据提交上去
参考资料: sername
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询