<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)計(jì)
    • 隨筆 - 9
    • 文章 - 5
    • 評(píng)論 - 2
    • 引用 - 0

    導(dǎo)航

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章檔案

    搜索

    •  

    積分與排名

    • 積分 - 10138
    • 排名 - 2383

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

     

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

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

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

    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ū)動(dòng)程序

                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;

                }

            }

     

        }

    }

     

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

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

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

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

     
    Copyright © afrag Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 亚洲福利视频一区二区三区| 国产va免费观看| 亚洲av片劲爆在线观看| 免费一级毛片在级播放| 国产免费AV片在线播放唯爱网 | 久久国产色AV免费看| 天堂亚洲免费视频| 亚洲国产日韩a在线播放| 亚洲第一页在线播放| 亚洲成a人片在线观看中文动漫| 伊人久久大香线蕉亚洲五月天| 免费看男女下面日出水视频| 免费无码又爽又高潮视频 | 2019亚洲午夜无码天堂| 久久精品国产亚洲AV麻豆网站 | 中文字幕a∨在线乱码免费看| 羞羞漫画小舞被黄漫免费| 亚洲乱码一区二区三区国产精品| 亚洲精品中文字幕乱码| 亚洲成在人线av| 亚洲精品国偷自产在线| 国产成人精品日本亚洲专区61 | 青青草97国产精品免费观看| 老司机亚洲精品影院在线观看| 亚洲欧美国产欧美色欲| 亚洲色偷偷综合亚洲av78| 国产精品亚洲一区二区麻豆| 亚洲粉嫩美白在线| 亚洲熟妇丰满xxxxx| 国产午夜亚洲精品| 大桥未久亚洲无av码在线| 久久精品国产亚洲av品善| 亚洲AV无码XXX麻豆艾秋| mm1313亚洲国产精品无码试看| 亚洲AV成人一区二区三区观看| 亚洲成a∧人片在线观看无码| 国产亚洲精品第一综合| 特黄特色大片免费| 91福利免费网站在线观看| 在线免费观看h片| 色欲国产麻豆一精品一AV一免费|