<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: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 国产一二三四区乱码免费| 日本系列1页亚洲系列| 日本免费污片中国特一级| 日韩精品亚洲人成在线观看| 国产精品福利片免费看| 亚洲最大av无码网址| 亚洲黄片手机免费观看| 亚洲香蕉网久久综合影视 | 理论亚洲区美一区二区三区 | 亚洲日韩在线观看免费视频| 亚洲人成人网站在线观看| 久久国产亚洲电影天堂| 久久青草免费91线频观看不卡 | 成人午夜免费福利| 亚洲AV色无码乱码在线观看| 免费不卡中文字幕在线| 亚欧国产一级在线免费| 亚洲成AV人片在线观看无| 91精品啪在线观看国产线免费| 亚洲综合激情九月婷婷 | 亚洲国产成人精品女人久久久 | 久久午夜夜伦鲁鲁片无码免费| 久久精品国产亚洲av日韩| 波多野结衣中文字幕免费视频| 亚洲国产成人综合精品| 亚洲精品偷拍视频免费观看| 免费观看在线禁片| 亚洲成年人啊啊aa在线观看| 最新久久免费视频| 亚洲福利视频网址| 国产男女猛烈无遮档免费视频网站 | 亚洲综合最新无码专区| 一个人免费视频观看在线www| 亚洲av女电影网| 成人人免费夜夜视频观看| 男女交性无遮挡免费视频| 亚洲视频在线观看免费| 日本高清免费不卡视频| 亚洲免费人成在线视频观看| 亚洲一区二区三区高清在线观看| 中文字幕亚洲图片|