【问题标题】:How to get a record from db to select it?如何从数据库中获取记录以选择它?
【发布时间】:2019-09-26 06:43:34
【问题描述】:

我的数据库中有一张桌子,产品。表字段之一是状态(良好,维护...)。

我正在使用 servlet 和 jsp。

在产品 JSP 中,我静态填充一些状态,如下所示:

<select id="selecStatus"> 
      <option value="Good">Good</option> 
      <option value="Maintenance">Maintenance</option> 
</select>

要进行插入,我在 servlet 中发出请求,它可以工作。

String s = request.getParameter("selecStatus");

我的问题是更改已注册的产品。如果是输入文本,我会这样做:

<jsp:useBean id="prod" class="entidade.Produto" scope="request"/>
...    
<input type="text" name="selecStatus"  value="${prod.status}">

但由于它是一个选择,我不知道如何填写选项并选择数据库中的那个。

有没有不使用javascript和php的解决方案?我不熟悉这些编程语言。

【问题讨论】:

标签: javascript php html jsp servlets


【解决方案1】:

也许你想像下面这样:

 <%@page import= "java.sql.*" %>
 <%@page import= "java.io.*" %>
    <% 
    //connection setup 
     Class.forName("com.mysql.jdbc.Driver");
    Connection 
    con=DriverManager.getConnection("jdbc:mysql://localhost:3306/project","","");
    Statement statement = con.createStatement() ;
   //your query to select status ,change column name and table name according to your requirement
    ResultSet rs= statement.executeQuery("select status from products") ; 
      %>

       <select name="selecStatus" required>

            <option value="select" >Select</option>
             <%while(rs.next()){ %>
           <!--printing out option from table i.e column status -->
            <option value="<%=rs.getString("status")%>"> <%=rs.getString("status")%> 
            </option>
             <%}%> 

        </select>

并使用String s = request.getParameter("selecStatus");servlet 中获得上述值。

【讨论】:

  • 好吧,如果她/他在数据库中有 1000 个产品怎么办? ;-) 我会说select distinct status from products 会更好。最好的办法是有一个单独的表(或 Java 枚举),其中包含状态字段的可能值,并列出这些值。
  • @JozefChocholacek 是的,也许,但他没有具体说明这些问题。但是,是的,我同意你的看法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-25
  • 2019-06-17
  • 2011-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多