0

我尝试开发计数值显示在我的 apache-tomcat 控制台窗口上。这里使用以下代码:

public class RetailerWs {
 public int data(){
int count=0;

count++;

try{
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/pro","root","");

    PreparedStatement statement =  con.prepareStatement("select * from orders where status='Q' AND date=CURDATE()");
     ResultSet result = statement.executeQuery();


}

      catch(Exception exc){
      System.out.println(exc.getMessage());
      }


    return count;
       }

        }

我的另一堂课是:

  public class Demo {
  public static void main(String[] args){
    RetailerWs obj = new RetailerWs();
    System.out.println(obj.data());
   }

  }

在我的数据库中,有 2 个值与上面的查询匹配。但显示的输出始终为 1。为什么在这里发生 dis 错误。请帮助我这里使用什么循环条件。给我一些解决方案。

4

2 回答 2

1

您实际上并没有查看查询的结果。count是 1,因为count++代码中较早。

你需要类似的东西:

while(result.next()) {
    // Do something with the row returned.
    // e.g. count += result.getInt[1]; if the first col is a count.
}
于 2012-08-02T05:45:33.497 回答
0

在执行查询后添加此行。

count = 0;
while ( result.next() ) 
count++;
于 2012-08-02T05:44:52.323 回答