首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JSP JDBC 查詢 COUNT(*) 正確獲取結果集數值

     編輯:程式設計綜合問答

錯誤代碼

ResultSet rst = stt.executeQuery("select count(*) from t_students");
out.print(rst.getString("")); // ❌ 空字串無效

正確方式

  1. 別名 + getInt/getLong (推薦):
    ResultSet rst = stt.executeQuery("select count(*) as cnt from t_students");
    if (rst.next()) {
        int total = rst.getInt("cnt"); // 或 getLong
        out.print(total);
    }
    
  2. 索引存取:
    if (rst.next()) out.print(rst.getInt(1));
    
  3. getString 索引:
    out.print(rst.getString(1));
    

完整範例

<%
Connection conn = null;
try {
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "user", "pass");
    Statement st = conn.createStatement();
    ResultSet rs = st.executeQuery("SELECT COUNT(*) AS total FROM t_students");
    if (rs.next()) {
        out.println("學生總數: " + rs.getInt("total"));
    }
} catch (Exception e) {
    e.printStackTrace();
} finally {
    try { if (conn != null) conn.close(); } catch (Exception ignored) {}
}
%>

關鍵點

  • 聚合查詢**必須給別名**或用索引 1 取值。
  • 永遠用 if (rs.next()) 而非 while,因 COUNT 只返回一行。
  • 資源在 finally 關閉,防洩漏。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved