我有一个表格出勤表,其中列是 id、名称、日期、状态。我的问题是,如果我在我的 html 页面中选择两个日期(开始日期和结束日期),我想生成出勤率日期范围内的学生报告也没有现在的日期。如何编写查询以选择学生的姓名和特定学生的当前天数。提前感谢所有帮助。
我写了如下查询。
String sql = "select student_name,count(status) from attendance where attendance.date>=? and attendance.date<=? and attendance.status=?";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test_schema", "root", "root");
String sql = "select student_name from attendance where attendance.date>=? and attendance.date<=? and attendance.status=?";
PreparedStatement pstmt = con.prepareStatement(sql);
//pstmt.setString(1, "Present");
pstmt.setString(1, stDate);
pstmt.setString(2, enDate);
pstmt.setString(3, "Present");
rs = pstmt.executeQuery();
while (rs.next()) {
java.sql.ResultSetMetaData rsmd=rs.getMetaData();
int colCount = rsmd.getColumnCount();
System.out.println("colCount :" + colCount);
System.out.println("count>>"+colCount);
StudentMark ge = new StudentMark();
ge.setStudentName(rs.getString(1));
stList.add(ge);
}
out.print(stList);
out.close();
} catch (Exception e) {
System.err.println(e.getMessage());
}
最佳答案
您可以使用 ResultSetMetaData
获取任何 select
查询结果的列数。
ResultSet rs= ... //Statement's result.
ResultSetMetaData rsmd= rs.getMetaData();
int colCount = rsmd.getColumnCount();
关于mysql - 如何在 jdbc 中为列的计数编写查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37649994/