[英]Count row for particular value in DB
我正在使用netbeans并制作项目。 我需要帮助来计算数据库中“男性”或“女性”的行数。
然后我想在JtextField中显示它
int count=0;
String fclass=cmb_PGender.getSelectedItem().toString();
// String fclass=txt_PAge.getText();
String sql="Select * from Patient ";
try {
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
if(fclass.equals("Male")){
count++;
// txt_count.setText(count);
}
}
JOptionPane.showMessageDialog(null, "Number Of registered patients is "+count+" ");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
您的逻辑看起来很混乱:
if(fclass.equals("Male")){
count++;
// txt_count.setText(count);
}
本质上,如果他们选择了“ Male”,则无论ResultSet中的当前记录实际上是否为Male,都将为计数加1。 您最好执行一个SQL查询来返回该性别的记录数,如下所示:
String fclass=cmb_PGender.getSelectedItem().toString();
String sql="SELECT COUNT(1) AS genderCount FROM Patient WHERE Gender = ?";
int count = 0;
try {
ps=con.prepareStatement(sql);
ps.setString(1, fClass);
rs=ps.executeQuery();
rs.next();
count = rs.getInt(1);
JOptionPane.showMessageDialog(null, "Number Of registered patients is "+count+" ");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
假定您有一个名为Gender
的列,其中包含字符串“ Male”或“ Female”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.