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这样的参数
java.sql.PreparedStatement p=conn.PreparedStatement(sql,RETURN_GENERATED_KEYS);
p.setobject(1,"zengguofeef");
//p.setobject(2,new java.sql.Date(System.currentTimeMillis()));
//必须这样设置,System.currentTimeMillis()表示当前系统时间的毫秒数,Timestamp()方法会根据这个毫秒数设置成当前时间
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: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();}}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。