【问题标题】:need count value is 0 means the output is displayed需要计数值为0表示输出显示
【发布时间】:2012-07-31 08:29:04
【问题描述】:

我尝试开发一个 java 应用程序。这里正在从 mysql 数据库获取信息。 我的代码是:

public class RetailerWs {
  public int data(){
    int count=0;
    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 MONTH(date) = MONTH(CURDATE()) AND YEAR(date) = YEAR(CURDATE())");
      ResultSet result = statement.executeQuery();
      while(result.next()) {
        // Do something with the row returned.
        count++; //if the first col is a count.
      }
    }
    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());
 }

}

在这里我必须检查查询并显示计数值是否成功。但我怀疑查询匹配项为零表示输出显示为空白。但我希望它是显示 0。不显示空白屏幕..所以请帮助我怎么做。

【问题讨论】:

  • 你的类名是RetailerWs,你正在创建MonthC类的对象..为什么??
  • 并使用SELECT COUNT(*)... 而不是SELECT * ...
  • class RetailerWSMonthC 应该是同一个类吗?
  • 它应该打印一些整数值,至少是一个零。你运行程序了吗?上面提到的错误,我怀疑你做到了。请验证。
  • @Axel 你看到他在迭代结果集了吗?所以他没有在这里使用 COUNT 函数。

标签: java mysql loops conditional-statements


【解决方案1】:

声明

System.out.println(new RetailerWs().data());

总是、无条件地打印一个整数值,即使该值为 0。除非异常阻止它执行,否则就是这样。

【讨论】:

    【解决方案2】:

    创建类 RetailerWs 的对象。

    RetailerWs  obj =new RetailerWs ();
    System.out.println(obj.data());
    

    【讨论】:

    • 如果我运行 Demo 类意味着它是检查上述查询的数据库。没有查询匹配。所以输出显示空白。但我想知道输出是显示 0。怎么做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 2023-01-12
    相关资源
    最近更新 更多