簡體   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