1. 程式人生 > >SQL 查詢中遇到的問題,以及解決辦法

SQL 查詢中遇到的問題,以及解決辦法

  1. 資料庫連線
    在資料庫連線時 ,最初在每次開始連線資料庫後,都沒有關閉,導致當我們如果在同一個Action 裡面執行太多的次數連線時候,MySQL 會因為太多連線而拒絕 連線,原因是Too many connection.因此需要每次連線之後需要關閉

錯誤的查詢方法.

Statement state = null;//作為類屬性
    public ResultSet executeQuery(String sql) {
        try {
            result = state.executeQuery(sql);
        } catch (Exception e) {
            e.printStackTrace();
            result = null
; } return result; }

這樣每次查詢資料庫都必須連線資料庫,因為state 中有對 result的引用,如果不重新 new 一個 connect ,就會出現之前的結果集被新插入的結果集覆蓋掉,在進行 while(result.netxt())迴圈巢狀時,會覆蓋掉之前result集合,從而導致丟擲異常.

正確的寫法:

  public ResultSet executeQuery(String sql) {
        try {
         Statement state = null;//作為區域性變數.
            result = state.executeQuery(sql);
        } catch
(Exception e) { e.printStackTrace(); result = null; } return result; }