html радио-кнопка добавить в базу данных - PullRequest
0 голосов
/ 29 марта 2012

У меня есть переключатель HTML.Когда пользователь нажимает кнопку отправки, я хочу, чтобы значение было добавлено в таблицу базы данных.

есть 4 переключателя

o  a
o  b
o  c
o  d

--- Я использовал request.getParameter (), и я указал q1.но когда я проверяю, что в таблице базы данных добавляется «ноль». Как мне добавить значение в базу данных?

вот мои 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();
%>

Ответы [ 6 ]

1 голос
/ 29 марта 2012

Если оба из них (форма и код jsp) находятся в одном и том же файле (Question2.jsp), то при первом вызове он выдаст вам NULL значений. Разделите форму и код в двух разных файлах как form.html и Question2.jsp, это может помешать вам получить NULL значения.

0 голосов
/ 29 марта 2012

Я понял,

просто сделайте что-то вроде

, поместите свою 1 html страницу на одну страницу и Question2.jsp на другую страницу

после этого в вопросе 2.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)), ваш ввод будет вставлен красиво

k.

0 голосов
/ 29 марта 2012

Добавить method="post" в тег <form>.

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

И закрыть объект подключения после обновления в базе данных.

conn.close();
0 голосов
/ 29 марта 2012

Вы пытались выполнить это несколько раз?

Я предполагаю, что у вас есть весь код в "Question2.jsp" и при первом запуске JSP. Он получает NULL значение.

Более того, нет необходимости использовать (PreparedStatement), так как Connection возвращает только объект PreparedStatement.

0 голосов
/ 29 марта 2012

Вы подготовили свое заявление, но не выполнили его.

0 голосов
/ 29 марта 2012

Убедитесь, что переменная answer правильно получила значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...