import java.sql.*;public class Test {
public static void main(String[] srg) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载JDBC驱动
String dbURL = "jdbc:sqlserver://127.0.0.1:1433; DatabaseName=db_sean"; // 连接服务器和数据库sample
String userName = "Sean"; // 默认用户名
String userPwd = "xianjiangao"; // 密码
Connection dbConn; try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!"); 
java.sql.Statement stmt = null;
stmt=dbConn.createStatement();
boolean s=stmt.execute("SET IDENTITY_INSERT STUDENT ON");//就是这句出问题
System.out.println(s);
ResultSet rs=stmt.executeQuery("select * from student");
while(rs.next())
{
System.out.print(rs.getString(1)+"    ");
System.out.print(rs.getString(2)+"    ");
System.out.println(rs.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
} }
}执行结果
Connection Successful!
false
3    aa    111
4    aa    111
说明可以访问数据库,可以连接,也可以取数据
但是为什么boolean s=stmt.execute("SET IDENTITY_INSERT STUDENT ON");这句执行的结果是false?谢谢高手回答

解决方案 »

  1.   

    SET IDENTITY_INSERT STUDENT ON 这句话什么意思?
    是不是这块语句有问题
      

  2.   

    SET IDENTITY_INSERT STUDENT ON
    你的这个表名STUDENT没写错吧。或者是你的权限不够,把SET IDENTITY_INSERT STUDENT ON 复制到别的sql工具里面看执行结果。
      

  3.   

    "SET IDENTITY_INSERT STUDENT ON"这句是什么意思?LZ用这句来做什么的?
    恕我见识少,没用过这种语句
      

  4.   

    应该是Set   IDENTITY_INSERT   表名   ON
    student 是不是错误
      

  5.   

    这是设置id自增的
    在数据库中可以执行,所以应该不存在权限问题
    用java连接用的也是相同用户登陆的
    student表名确定没错
    一直找不出为什么
      

  6.   

    吧 identity 设置为自动填充值 吧 呵呵 他这个执行有返回值吗?
      

  7.   

    Statement execute(String sql) 
              执行给定的 SQL 语句,该语句可能返回多个结果
    参数:
    sql - 任何 SQL 语句 
    返回:
    如果第一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在任何结果,则返回 false ;
    -------------------------
    所以execute(sql)不是返回sql语句的运行是否成功,而是有ResultSet,返回true,没有ResultSet或者计数时,返回false;
      

  8.   

    可能是语句String错了吧,建议使用preparedStatement更易管理
      

  9.   

    可能是语句String错了吧,建议使用preparedStatement更易管理