gpt4 book ai didi

java - 从 mysql 数据库表中获取所有数据在 java 中不起作用

转载 作者:行者123 更新时间:2023-11-29 00:27:34 26 4
gpt4 key购买 nike

我试图从某个表中获取所有数据。但它只给我第一行两次结果(因为我在数据库中有两行)

这是我的代码

   String data[]=new String[10];
String[] result;
Product p= new Product();
int serial=0;
try{
String sql="select * from product";
rslt=st.executeQuery(sql); //where private static Statement st, private static ResultSet rslt;
while(rslt.next()){
data[1]=rslt.getString("p_code");
data[2]=rslt.getString("p_name");
/* data[3]=rslt.getString("description");
data[4]=rslt.getString("measurement");
data[5]=Integer.toString(p.RemainProduct(data[1]));
data[6]=p.getSellPrice(data[1]);
serial+=1;
data[0]=Integer.toString(serial);
DTB.addRow(data); */
System.out.println("code :"+data[1]+" "+"Name :"+data[2]);
}

}catch(Exception ex){
System.out.println("ERROR :"+ex);

}

我的表有两条数据,这里是我的数据库表数据

enter image description here

这是我运行程序后的结果。

enter image description here

我不知道真正的问题在哪里。相同的代码在另一种方法上工作正常,但为什么我不能在这里得到它。我是 java 的新手,请帮我解决这个问题

最佳答案

您的代码在我看来是正确的。我认为这是一个“所见即所得,破不成”的情况。也许您没有查询您认为正在查询的表,或者您的 TableView 已缓存且已过时。刷新您的 TableView ,并尝试在您的程序输出中打印出 PK(表中的 id 列),以双重检查您正在查询的表是否是正确的表。此外,仔细检查您的 JDBC URL 并确认您查询的是正确的数据库。

此外,您的评论表明相同的代码在不同的方法中给出了正确的结果。也许您的实际代码中还有更多我们没有深入了解的内容?也许您的代码(未在您的示例中显示)是:

  1. 更新表格,使第 1 行和第 2 行具有相同的数据。
  2. 查询数据库(如您的示例所示),并在第 1 行和第 2 行返回相同的数据。
  3. 更新表格,使第 1 行和第 2 行现在具有不同的数据,这些数据在您手动查询数据库时显示。

最后,确保您的其他一些团队成员或自动化测试流程不会在您不知情的情况下更新表格。

关于java - 从 mysql 数据库表中获取所有数据在 java 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257024/

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