gpt4 book ai didi

java - 从数据库中检索特定数据并显示

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:03 25 4
gpt4 key购买 nike

如何从数据库中取出特定数据并显示?

    String sql = "Select Product_ID,Order_Quantity,Sub_Total from Order_Menu Where Order_ID='"+order_id_1+"'";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

while(rs.next()){

list.add(rs.getString("Product_ID"));
list.add(rs.getString("Order_Quantity"));
list.add(rs.getString("Sub_Total"));

for(int i = 0;i<list.size();i++){
String item = list.get(i);
System.out.println("Item" + i + ":" + item);
}

我定义数组

ArrayList <String> list = new ArrayList<String>();

我的输出

Item0:P0001  
Item1:1
Item2:37.0
Item0:P0001
Item1:1
Item2:37.0
Item3:P0002
Item4:2
Item5:666.0

我的数据库只有P0001和P0002这2个item,结果怎么多了1个item抱歉,我对数组有点困惑

最佳答案

每次从结果集中添加记录时,都会打印整个列表内容。在第一次迭代中,list.size() == 3,所以它打印:

Item0:P0001 Item1:1 Item2:37.0

在第二次迭代中,list.size() == 6,所以它打印:

项目 0:P0001 项目 1:1 项目 2:37.0 项目 3:P0002 项目 4:2 项目 5:666.0

从而使您的最终输出:

Item0:P0001 Item1:1 Item2:37.0 Item0:P0001 Item1:1 Item2:37.0 Item3:P0002 Item4:2 Item5:666.0

将 for 循环移到 while 语句之外应该可以解决这个问题。

while(rs.next()){
list.add(rs.getString("Product_ID"));
list.add(rs.getString("Order_Quantity"));
list.add(rs.getString("Sub_Total"));
}

for(int i = 0;i<list.size();i++){
String item = list.get(i);
System.out.println("Item" + i + ":" + item);
}

关于java - 从数据库中检索特定数据并显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17628103/

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