ResultSet rs=stmt.executeQuery(sql); 
statement调用的方法错了

解决方案 »

  1.   

    但是如果是这样的语句
    sql="select * from a insert  into a values(1,2)  select * from b  insert into b values(1)"
    我如何获取这条语句的更新数量及所有结果集?采用如下方式却得不到结果集,不知道为什么。
    stmt.execute(sql)
    stmt.getUpdateCounts();//获取更新数量
    ResultSet rs=stmt.getRuselset();//获取第一个结果集
    stmt.getMoreResultSet();//获取更多结果集
      

  2.   

    我不知道这样连着写行不行的。。
    我帮你试了一下 好像不能这样写sql语句的吧
      

  3.   

    存储过程可以如下写
    CREATE PROCEDURE  dbo.test (
    @p1 int,
    @p2 int,
    @p3 int
    ) AS
    insert into tb1 values(@p1,@p2,@p3)
    select * from tb1
    GO
    调用方式
    sqlstr = "exec test @p1=1,@p2=2,@p3=3";
    ResultSet rs = stmt.executeQuery(sqlstr);
      

  4.   

    我的本意是当插入一条记录时,如何获取这条记录的自动标识字段值。
    如下语句:
    sql="insert into tb1 values(1,2,3)";
    stmt.executeUpdate(sql);
    sql="select @@identity as iden"
    ResultSet rs=db.executeQuery(sql);
    String iden=rs.getString("iden");
    这样取得的@@identity是为空值,得不到插入语句的标识值。
    各位高人有没有什么办法获取这个标识值,并且可以判断插入语句是否执行成功?