Java程序输出的数据库记录数量错误

Java程序输出的数据库记录数量错误,java,sql,mysql,database,Java,Sql,Mysql,Database,我在mySQL中有一个表,有3行,包括姓名、地址、电话、年龄、费用。其中两个名字是“亚当”,最后一行是“阿巴斯”,我不知道为什么它会在控制台上这样打印,请帮助我谢谢 Statement s; int s4,s5;String s1,s2,s3; List<InfoClass> clientList = null; try { s = conn.createStatement(); ResultSet rs = s.e

我在mySQL中有一个表,有3行,包括姓名、地址、电话、年龄、费用。其中两个名字是“亚当”,最后一行是“阿巴斯”,我不知道为什么它会在控制台上这样打印,请帮助我谢谢

      Statement s;
    int s4,s5;String s1,s2,s3;
    List<InfoClass> clientList = null;
    try {
        s = conn.createStatement();
        ResultSet rs = s.executeQuery("SELECT * FROM customer_info WHERE Name LIKE 'A%'");
        InfoClass list = null;

        while (rs.next()) {
            s1 = rs.getString(2);
            if (rs.wasNull()) {
                s1 = null;
            }
            s2 = rs.getString(3);
            if (rs.wasNull()) {
                s2 = null;
            }

            s3 = rs.getString(4);
            if (rs.wasNull()) {
                s3 = null;
            }
              s4 = rs.getInt(5);
            if (rs.wasNull()) {
                s4 = 0;
            }
            s5 = rs.getInt(6);
            if (rs.wasNull()) {
                s5 = 0;
            }





            list = new InfoClass(s1, s2);

            if (clientList == null) {
                clientList = new ArrayList<InfoClass>();
            }

            clientList.add(list);





        }
       for(int i=0;i<clientList.size();i++){
           InfoClass c =clientList.get(i);
           System.out.println(c.getName());


        }
我希望输出如下:

  run:
Adam Smit
Adam Smit
Abas

您的数据库中似乎有一个名为“Abas”的客户,该客户与您的查询有效匹配。

最好使用rs.getString(String columnLabel)方法。

请将
println
行更改为:

System.out.println("" + i + ": " + c.getName());

然后运行它?

您的问题非常混乱。请张贴表格结构和表格内容。另外,请提出一个具体问题。你期望的产量是多少?哪一部分让你惊讶?如果没有特定的问题,您的问题条目将很快关闭。select查询返回的行数是否与程序相同?这将帮助您找到问题是在查询中还是在程序中。如果没有任何内容与您的选择条件匹配,则此代码将抛出NullPointerException,因为您正在懒洋洋地构造
clientList
@Johanna
:它会输出什么?
System.out.println("" + i + ": " + c.getName());