我有一个html单选按钮。当用户单击提交按钮时,我希望将值添加到数据库表中。
有4个单选按钮
o a
o b
o c
o d
---我使用了request.getParameter()并引用了q1。但是当我检查数据库表中的内容时,会添加“null”。 如何在数据库中添加值?
这是我的html单选按钮。
<FORM ACTION="Question2.jsp">
Q1. This is the section of code that gracefully responds to exceptions.<P>
<INPUT TYPE=RADIO NAME="q1" VALUE="a"/>a. Exception generator<BR>
<INPUT TYPE=RADIO NAME="q1" VALUE="b"/>b. Exception manipulator<BR>
<INPUT TYPE=RADIO NAME="q1" VALUE="c"/>c. Exception handler<BR>
<INPUT TYPE=RADIO NAME="q1" VALUE="d"/>d. Exception monitor<P>
<INPUT TYPE=SUBMIT VALUE="submit"/>
</FORM>
...这里我试图在表格中添加值。
<%
String query = "INSERT INTO Quiz2 VALUES (?)";
PreparedStatement pst = (PreparedStatement) conn.prepareStatement(query);
String answer = request.getParameter("q1");
pst.setString(1, answer);
pst.executeUpdate();
%>
答案 0 :(得分:1)
如果这两个(表单和jsp代码)都在同一个文件(Question2.jsp)中,那么当你第一次调用它时它会给你NULL
个值。将表单和代码分隔为两个不同的文件form.html
和Question2.jsp
,这可能会阻止您获取NULL
值。
答案 1 :(得分:0)
检查answer
变量是否正确获得了值。
答案 2 :(得分:0)
你准备好了你的陈述,但你还没有执行。
答案 3 :(得分:0)
您是否尝试多次执行此操作?
我假设您在“Question2.jsp
”中有完整代码,并且第一次执行JSP
时。它获得NULL
值。
此外,无需投放(PreparedStatement)
,因为Connection
仅返回PreparedStatement
的对象。
答案 4 :(得分:0)
在method="post"
代码中添加<form>
。
<FORM ACTION="Question2.jsp" method="post">
更新到数据库后关闭连接对象。
conn.close();
答案 5 :(得分:0)
我明白了,
只做
之类的事情将1个html页面放在一个页面中,将Question2.jsp放在另一个页面中
之后在question2.jsp中放置像这样的代码
<%@page import="java.sql.*" %>
<%
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String a=request.getParameter("q1");
System.out.println("Q1-->"+a);
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/your database","your database username ","password");
System.out.println("connected");
stmt=conn.createStatement();
stmt.execute("insert into first(username) values('"+a+"')");
%>
在你的数据库之后放置id(int)name(varchar(150))你的输入将很好地插入
ķ。