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.PreparedStatementp=conn.PreparedStatement(sql,Statement.RETURN_GENERATED_KEYS);
p.setObject(1, "zengguofeef");
//p.setObject(2, newjava.sql.Date(System.currentTimeMillis()));
//必須這樣設(shè)置,System.currentTimeMillis()表示當(dāng)前系統(tǒng)時間的毫秒數(shù),Timestamp()方法會根據(jù)這個毫秒數(shù)設(shè)置成當(dāng)前時間
p.setTimestamp(2, newjava.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(?,?) selectscope_identity()";
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connectionconn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs","sa","");
java.sql.PreparedStatement p=conn.prepareStatement(sql);
p.setObject(1, "zengguofeef");
p.setTimestamp(2, newjava.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();
}
}
}