2012-03-29 95 views
0

我有一个html单选按钮。当用户点击提交按钮时,我想要将该值添加到数据库表中。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

<form>标签添加method="post"

<FORM ACTION="Question2.jsp" method="post"> 

并在更新到数据库后关闭连接对象。

conn.close(); 
0

检查answer变量是否正确得到了该值。

+0

System.out.print(answer);但因为它是一个jsp没有显示出来。 – 2012-03-29 01:26:03

+0

是System.out.print'(答案);'会写在服务器控制台的值。你可以用'out.print(answer);'在jsp scriptlet中打印。或'$ {param.q1}'或'$ {PARAM [Q1]}'(外侧的scriptlet),或'<%=请求。getParameter(“q1”)%> – tusar 2012-03-29 05:50:50

0

你准备好了你的陈述,但你还没有执行它。

+0

只是没有添加它的这段代码。 – 2012-03-29 01:59:35

0

您是否尝试过多次执行此操作?

我假设你有完整的代码在“Question2.jsp”和第一次JSP得到执行。它获得NULL的值。

更多的,没有必要输入(PreparedStatement)作为Connection只返回PreparedStatement的对象。

1

如果双方的这个(形式和JSP代码)都在同一个文件(Question2.jsp),那么,当你把它第一次它会给你NULL值。独立的形式,并在两个不同的文件为form.htmlQuestion2.jsp的代码,这可能会阻止您获得NULL值。

0

我想通了,

只是做的事情就像

发生在后一页和Question2.jsp在另一页

你1个html页面中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)名称(VARCHAR(150))您的输入将很好地插入

ķ。