繁体   English   中英

计算数据库中特定值的行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM