隨筆 - 303  文章 - 883  trackbacks - 0
          <2007年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          歡迎光臨! 
          閑聊 QQ:1074961813

          隨筆分類(357)

          我管理的群

          公共blog

          • n維空間
          • Email : java3d@126.com 群 : 12999758

          參與管理的論壇

          好友的blog

          我的其他blog

          朋友的網站

          搜索

          •  

          最新評論

          當我們在寫數據庫連接的時候,有時候回出現一些錯誤如:

          java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY

          先看下面一段代碼

          /**
               * 連接數據庫用的驅動類型
               
          */

              
          protected final String driver = "org.gjt.mm.mysql.Driver";

              
          /**
               * 數據庫URL
               
          */

              
          protected final String dbURL = "jdbc:mysql://localhost:3306/mydbase";
              
          /**
               * 數據庫管理員用戶名
               
          */

              
          protected final String userName = "root";

              
          /**
               * 數據庫管理員密碼
               
          */

              
          protected final String userPwd = "123456";

              
          /**
               * 數據庫連接對象
               
          */

              
          protected Connection con = null;

          /*
          *獲取數據庫連接
          */

              con 
          = DriverManager.getConnection(dbURL,  userName, userPwd);

          /*
          *獲取連接句柄
          */

                  Statement smt 
          = con.createStatement(
                      ResultSet.TYPE_SCROLL_INSENSITIVE,
                      ResultSet.CONCUR_UPDATABLE);

                  ResultSet rs 
          = smt
                      .executeQuery(
          "SELECT * FROM CurrentAccount WHERE AccountID = "
                          
          + accountID);
                  
          while (rs.next())
                  
          {
                  withdrawCount 
          = Integer.parseInt(rs.getString("Counter"));
                  }

                  rs.close();
                  smt.close();
                  con.close();

          注意上面紅字部分:

             Statement smt = con.createStatement(
                      ResultSet.TYPE_SCROLL_INSENSITIVE,
                      ResultSet.CONCUR_UPDATABLE);

          呵呵,括號里是不是多了兩個參數:

            ResultSet.TYPE_SCROLL_INSENSITIVE,
              ResultSet.CONCUR_UPDATABLE

           

          這兩個東西屬于java.sql.ResultSet(大家可以看到我們的程序前面都有import java.sql.*;呵呵)

          那這些參數有什么用呢?

           

          ResultSet.TYPE_FORWARD_ONLY             在不設定的情況下,默認是這個,rs游標只能實現 next()操作;

           

          ResultSet.TYPE_SCROLL_INSENSITIVE    數據在更新之后則無權再次獲取數據集

          ResultSet.TYPE_SCROLL_SENSITIVE        數據在更新之后則可以再次獲取數據集

          需要指定,可以實現rs 游標的afterLast()previous()absolute()relative()first()last()操作(具體使用請自己查看java API 文檔)

           

           

          ResultSet.CONCUR_READ_ONLY            在不設定的情況下為默認參數,

                  只讀:獲取改數據庫句柄的rs 游標只能讀取數據庫里的東西;

                                                                               可以實現select 操作;

           

          ResultSet.CONCUR_UPDATABLE            可更新:獲取改數據庫句柄的rs 游標可以讀取和更新數據庫里的東西;

                                                                               可以實現 select insert 操作;

           

          在了解參數的用法之后,為保證數據安全性,和數據庫數據的安全性維護,請根據需要慎重使用。





          地震讓大伙知道:居安思危,才是生存之道。
          posted on 2007-07-31 00:53 小尋 閱讀(763) 評論(0)  編輯  收藏 所屬分類: j2se/j2ee/j2me
          主站蜘蛛池模板: 曲沃县| 信宜市| 徐水县| 新营市| 自贡市| 积石山| 兴城市| 香港| 霞浦县| 界首市| 洛隆县| 唐河县| 北京市| 宜宾市| 舟山市| 额尔古纳市| 原平市| 龙口市| 黄大仙区| 泸州市| 双江| 靖江市| 静宁县| 伊金霍洛旗| 隆安县| 喜德县| 双江| 扎鲁特旗| 临清市| 丰都县| 合川市| 红原县| 商丘市| 庐江县| 海城市| 靖边县| 武汉市| 塔河县| 北辰区| 中江县| 东丰县|