gpt4 book ai didi

java - 从 oracle 中检索数据

转载 作者:太空宇宙 更新时间:2023-11-04 12:38:15 24 4
gpt4 key购买 nike

我在oracle数据库中有一个表,名称为category,在这个category表中我有列c_nm,数据是category1,category2,category3,......等等我希望所有这些数据都存储在我的 jsp 页面上的数组或字符串中。示例:

<%@ include file"connection.jsp"%> // for connecting to data base 
<%! String S1[]= new String[]%> declare a string

<%
rs=stat.executeQuery("select * from category ");
while(rs.next()){
s1[]=rs.getString(c_nm);
}
%>

这是正确的编码还是我应该选择其他方法来执行此操作?

最佳答案

如果您想要类别列表,您需要循环遍历结果,并将其添加到列表中。您可以制作一个列表,因为您不需要事先知道您有多少个类别。

rs=stat.executeQuery("select * from category ");
List<String> categories = new ArrayList<>();
while (rs.next()) {
categories.add(rs.getString(c_nm));
}

然后,如果确实需要,您可以将列表转换为数组:

s1 = categories.toArray(new String[0]);

如果您对我为什么传递零长度数组感到困惑,请进一步研究:What to pass to the Arrays instance method toArray(T[] a) method? .

其他需要注意的事项:

  • Java 区分大小写,S1s1 不同,请参阅您的 %! 部分。
  • 不是 s1[]=,而只是 s1= - 请参阅 How to initialize an array in Java?
  • 创建数组时需要指定数组的大小...即 = new String[10]new String []
  • 我相信您<%! 中的陈述。 ... %> 仍然需要以分号 (;) 结尾。

无论如何,经过所有这些更正,它可能应该是这样的:

<%! String [] s1 = new String[0]; %>

我们可以分配 null 来代替,但我不知道代码的其余部分是否可以。这似乎是目前最谨慎的做法。

现在,由于您使用的是 ListArrayList,因此您将需要 import sections对于它:

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>

然后,如果您确实想对这些类别执行某些操作,则需要编写类似于以下内容的内容:

<% for (String category:categories) { %>
<p><%=category%></p>
<% } %>

请注意,我什至没有使用 s1S1 (无论您如何称呼 native 数组),而是直接使用 categories List (因此实际上不需要进行转换)。

请注意,关于我为您提供的解决方案有很多话要说,但我认为这是最简单的解决方案,可以直接回答您的问题。

关于java - 从 oracle 中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37089918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com