<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    afrag  
    記錄學(xué)習(xí)和成長的歷程
    日歷
    <2006年1月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234
    統(tǒng)計
    • 隨筆 - 9
    • 文章 - 5
    • 評論 - 2
    • 引用 - 0

    導(dǎo)航

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章檔案

    搜索

    •  

    積分與排名

    • 積分 - 10252
    • 排名 - 2373

    最新評論

    閱讀排行榜

    評論排行榜

     

           有同事問到在程序中怎樣知道數(shù)據(jù)庫表中那些字段是主鍵。當(dāng)時不知道,晚上回來看了看JDK的文檔。

           在使用JDBC來查詢數(shù)據(jù)庫的時候,通常的步驟是:

    1.  注冊驅(qū)動程序

    2.  獲取數(shù)據(jù)庫連接

    3.  執(zhí)行查詢語句

    4.  關(guān)閉連接。

           在獲得數(shù)據(jù)庫連接后,就可以通過getMetaData()方法來獲取DatabaseMetaData;然后通過DatabaseMetaDatagetPrimaryKeys ()方法來獲取主鍵的信息。

           下面是我做的示例程序,該程序在JBuilder2005oracle8i下通過:
    import java.sql.*;

    import javax.sql.*;

    public class TestJDBC {

        public TestJDBC() {

        }

     

        public static void main(String[] args) throws SQLException {

            Connection con = null;

            Statement st = null;

            ResultSet rst = null;

            try{

                         //注冊數(shù)據(jù)庫驅(qū)動程序

                Class.forName("oracle.jdbc.driver.OracleDriver");

                         //獲取數(shù)據(jù)庫連接

                con = DriverManager.getConnection("jdbc:oracle:thin:@10.60.203.80:1521:TestDB","123","123");

                         //獲取主鍵信息

                rst = con.getMetaData().getPrimaryKeys(null,null,"USER");

                         //打印主鍵信息

                if (!rst.isAfterLast()) {

                    rst.next();

                    System.out.println(rst.getString("TABLE_NAME") + "  " +

                                       rst.getString("COLUMN_NAME"));

                }

            }

            catch (Exception e){

                System.out.println(e.getLocalizedMessage());

            }

            finally{

                try{

                                //關(guān)閉連接

                    if (rst != null)

                        rst.close();

                    if (con != null)

                        con.close();

                }

                catch (SQLException e){

                    throw e;

                }

            }

     

        }

    }

     

    上面的程序中,在獲取主鍵信息的時候,語句

    rst = con.getMetaData().getPrimaryKeys(null,null,"USER");

    用來獲取主鍵信息。關(guān)于該函數(shù)的詳細(xì)信息,請參閱JDK的文檔。這里要說的是,在測試中發(fā)現(xiàn)第三個參數(shù)(數(shù)據(jù)庫表名)是大小寫敏感的,如果寫成user是查不到結(jié)果的。

    posted on 2006-01-20 10:52 afrag 閱讀(1544) 評論(1)  編輯  收藏 所屬分類: Java 技術(shù)
    評論:
    • # re: 在java程序中如何知道數(shù)據(jù)庫表的主鍵  馮烽 Posted @ 2007-03-21 20:27
      泥沙的年代內(nèi)農(nóng)戶廠農(nóng)村程度地面  回復(fù)  更多評論   

     
    Copyright © afrag Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 国产一卡2卡3卡4卡2021免费观看| 亚洲已满18点击进入在线观看| 美女视频黄频a免费大全视频| 最近中文字幕免费mv视频8| 亚洲综合在线成人一区| 午夜精品射精入后重之免费观看| 亚洲午夜无码久久久久| 国产真人无码作爱免费视频| 亚洲无人区午夜福利码高清完整版| 国产精品免费看久久久香蕉| 浮力影院亚洲国产第一页| yellow视频免费看| 亚洲成av人片天堂网老年人| 亚洲av永久中文无码精品综合| 女人18一级毛片免费观看| 中文字幕无码精品亚洲资源网久久 | 麻花传媒剧在线mv免费观看 | 好爽又高潮了毛片免费下载| 亚洲国产精品无码中文lv| 国产免费观看青青草原网站| 亚洲Aⅴ无码一区二区二三区软件| j8又粗又长又硬又爽免费视频| 亚洲乱码中文字幕综合| 少妇无码一区二区三区免费| 亚洲国产成人精品无码区在线秒播| 久久久久免费看黄A片APP| 国产亚洲情侣久久精品| 亚洲无人区午夜福利码高清完整版| 日韩免费无码一区二区三区 | 亚洲成a人片毛片在线| 精品少妇人妻AV免费久久洗澡| 亚洲阿v天堂在线2017免费| 婷婷亚洲综合五月天小说| 黄色成人网站免费无码av| 免费国产va在线观看| 久久精品国产亚洲AV网站| 成年人在线免费看视频| 亚洲精品黄色视频在线观看免费资源| 亚洲一级二级三级不卡| 国产在线19禁免费观看| 永久免费A∨片在线观看|