电竞比分网-中国电竞赛事及体育赛事平台

分享

getGeneratedKeys自動獲取主鍵的方法

 tingx 2015-11-21


(2010-07-31 20:20:29)
  1. public class Demo
    {

    public static void main(String[] args) {

    try {
    String sql="insert into person values(?,?)";
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    Connection conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=pubs","sa","");

    //需要增加一個Statement.RETURN_GENERATED_KEYS這樣的參數(shù)
    java.sql.PreparedStatement p=conn.PreparedStatement(sql,Statement.RETURN_GENERATED_KEYS);
    p.setObject(1, "zengguofeef");

    //p.setObject(2, new java.sql.Date(System.currentTimeMillis()));

    //必須這樣設(shè)置,System.currentTimeMillis()表示當(dāng)前系統(tǒng)時間的毫秒數(shù),Timestamp()方法會根據(jù)這個毫秒數(shù)設(shè)置成當(dāng)前時間
    p.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis()));
    p.executeUpdate();


    //通過這個方法獲取getGeneratedKeys();
    ResultSet rs=p.getGeneratedKeys();
    rs.next();
    int num=rs.getInt(1);
    System.out.println("自動增長列為:"+num);
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }



    public static void main(String[] args)
    {

    //在sql語句后面加上一個select scope_identity()
    String sql="insert into person values(?,?) select scope_identity()";
    try {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs","sa","");
    java.sql.PreparedStatement p=conn.prepareStatement(sql);
    p.setObject(1, "zengguofeef");
    p.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis()));
    //這里使用的是executeQuery()方法,而不是executeUpdate()
    ResultSet rs=p.executeQuery();
    rs.next();
    int num=rs.getInt(1);
    System.out.println("自動增長列為:"+num);
    conn.close();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多