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