站内搜索: 请输入搜索关键词

当前页面: JAVA 编程资料牛鼻论坛Java & J2SE 技术区→在mssql下如何获得刚插入字段的值(该字段是自增)?

在mssql下如何获得刚插入字段的值(该字段是自增)?

发表新主题   回复此主题

第1楼 2007-10-09 15:09 wuguoming2004 写道:

在mssql下如何获得刚插入字段的值(该字段是自增)?

今天上网查资料写了一个在mssql获得刚插入字段的值(该字段是自增的),但返回的老是零,为什么,请大家帮忙看一下?
数据库表是 message(int id,varchar name) 其中id是自增的
代码如下:
GetIdentity.java
package com.study.dbo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class GetIdentity {

public static void main(String[] args) {

Connection conn=null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo;SelectMethod=Cursor;User=sa;Password=sa");
conn.setAutoCommit(false);
String insert="insert into message values('wuguoming2010')";
PreparedStatement prestmt=conn.prepareStatement(insert);
prestmt.execute();
String sql="select SCOPE_IDENTITY()";
// String sql="select @@identity";
prestmt=conn.prepareStatement(sql);
ResultSet rs=prestmt.executeQuery();
long identity=0;
while (rs.next()) {
System.out.println(rs.getLong(1));
identity=rs.getLong(1);
}
conn.commit();
System.out.println(identity);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (SQLException sqle) {
// TODO Auto-generated catch block
sqle.printStackTrace();
}
}
}
打印出来的老是零?为什么?请大家看一下,帮个忙,谢谢!!

第2楼 2013-08-31 12:44 Robot :

在mssql下如何获得刚插入字段的值(该字段是自增)? 相关


发表新主题   回复此主题