JSP的資料庫連接:新手要注意的問題

來源:互聯網
上載者:User

        其實先聲明我也是個新手,只是在這個問題的解決上我花了很多時間,走了很多彎路,所以不想讓大家也像我一樣了
        一般來說,為了方便開發和代碼重用,JSP中串連資料庫的代碼是單獨放在一個BEAN中的(至少我是這麼做的),就像ASP中有個專門用於資料庫連接的ASP檔案一樣。
        以下是我寫的資料庫查詢函數:
        public ResultSet dbQuery(String strSql){
          rs=null;
          try{
               conn=DriverManager.getConnection(dbConn);
               Statement stmt=conn.createStatement();
               rs=stmt.executeQuery(strSql);
          }
          catch(SQLException e){
           System.err.println("Can not open the DB!/n");
           System.err.println(e.getMessage());
          }
          return rs;
         }
        以前如果有和我一樣習慣的人可要注意了。
        發現這個問題之前我寫的查詢函數並沒有傳回值,而總是將直接使用。哪知卻犯了一個很大而且很可笑的錯誤:返回的居然是一個NULL!!
        細細想來,應該是局部變數的原因。嗯,確實有點打擊人。以下是正確的代碼應用:
        <jsp:useBean id="db" class="dingsea.dbOperat" scope="page"/>
        <%
             ResultSet rs=db.dbQuery("select * from man");
             try{
  
              while(rs.next()){
               out.println(rs.getString("id")+":");
               out.println(rs.getString("name")+" | ");
               out.println(rs.getString("tel")+" |"+"<br>");
               }
             }
             catch(Exception e){
              out.println(e.getMessage()+"/n");
             }
             rs.close();
%>
        

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.