【发布时间】: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
RetailerWS和MonthC应该是同一个类吗? -
它应该打印一些整数值,至少是一个零。你运行程序了吗?上面提到的错误,我怀疑你做到了。请验证。
-
@Axel 你看到他在迭代结果集了吗?所以他没有在这里使用 COUNT 函数。
标签: java mysql loops conditional-statements