I’m trying to get value out of the select option. But it doesn’t seems to be able to get since it’s on form. How do I do it ? I mean by having taking the value out of the option select.
JavaScript
x
<strong>Select a product :</strong>
<select name="stockid">
<c:forEach var="row" items="${STOCKS1.rowsByIndex}">
<option selected><c:out value="${row[0]}"/></option>
</c:forEach>
</select>
</p>
<%!int query = 0; %>
<%
if(request.getParameter("stockid") != null){
Connection connection = DriverManager.getConnection(
"jdbc:derby://localhost:1527/healthdb", "nbuser", "nbuser");
PreparedStatement statement = connection.prepareStatement("select stockqty from stocks where stockid = ?");
statement.setString(1,request.getParameter("stockid"));
ResultSet resultset =
statement.executeQuery( ) ;
if(resultset.next()){
out.print(resultset.getString("stockqty"));
query = resultset.getInt("stockqty");
}
else
out.print("lol");}%>
Advertisement
Answer
1.) You can not select all the items in a select with selected
! Without multiple="multiple"
JavaScript
<c:forEach var="row" items="${STOCKS1.rowsByIndex}">
<option selected><c:out value="${row[0]}"/></option>
</c:forEach>
E.g. topFr[]
JavaScript
<select name = "topFr[]" multiple="multiple">
<option selected="selected">Apple</option>
<option>Pear</option>
<option selected="selected">Peach</option>
</select>
if you can have multiple selected the name
must be an array here stockid[]
JavaScript
<select name="stockid[]">
If you get from the <Form>
an array you must treat request.getParameter("stockid")
as an array
!
2.) OR stockid = INT then
You can not pass a string to a field = INT
if stockid
is INT !
JavaScript
statement.setString(1,request.getParameter("stockid"));
will set a String to the query and the String will be quoted
wrong
JavaScript
select stockqty from stocks where stockid = "1"
you need
JavaScript
select stockqty from stocks where stockid = 1
Try
JavaScript
statement.setInt(1,Integer.parseInt(request.getParameter("stockid"));
also you should test with for empty !
JavaScript
String res = request.getParameter("stockid");
if(res != null && !res.isEmpty()){