MS-SQL 2000 + J2SDK 1.4.2 sql="select [no],sendId,recvId,message,sendDate,sendTime,roomId from ChatRecord where [no] is null";
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); //CONCUR_READ_ONLY
rs=stmt.executeQuery(sql);
rs.moveToInsertRow();
rs.updateString(2, "279332");
rs.updateString(3, "ALL");
rs.updateString(4, "信息内容测试");
rs.updateString(5, "20050427");
rs.updateString(6, "141500000");
rs.updateString(7, "373");
rs.insertRow();
//新增结束后显示该自动编号的值
rs.moveToInsertRow();//估计是这一句跳到刚才新增的那条记录上
out.println("新增记录的ID是:"+rs.getString("no")+"<br>");
rs.close();
stmt.close();我试了 rs.first(),last().moveToCurrentRow();
总是异常 java.lang.NullPointerException
请大侠们指导,如何取得自动编号字段,新增记录后该字段的值
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); //CONCUR_READ_ONLY
rs=stmt.executeQuery(sql);
rs.moveToInsertRow();
rs.updateString(2, "279332");
rs.updateString(3, "ALL");
rs.updateString(4, "信息内容测试");
rs.updateString(5, "20050427");
rs.updateString(6, "141500000");
rs.updateString(7, "373");
rs.insertRow();
//新增结束后显示该自动编号的值
rs.moveToInsertRow();//估计是这一句跳到刚才新增的那条记录上
out.println("新增记录的ID是:"+rs.getString("no")+"<br>");
rs.close();
stmt.close();我试了 rs.first(),last().moveToCurrentRow();
总是异常 java.lang.NullPointerException
请大侠们指导,如何取得自动编号字段,新增记录后该字段的值
sql="select @@IDENTITY as i,sendId,recvId,message,sendDate,sendTime,roomId from ChatRecord where [no] is null";
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); //CONCUR_READ_ONLY
rs=stmt.executeQuery(sql);
rs.moveToInsertRow();
rs.updateString(2, "279332");
rs.updateString(3, "ALL");
rs.updateString(4, "信息内容测试");
rs.updateString(5, "20050427");
rs.updateString(6, "141500000");
rs.updateString(7, "373");
rs.insertRow();
//新增结束后显示该自动编号的值
rs.first();
out.println("新记录的值:"+rs.getString("i"));还是出错 java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position.
或java.lang.NullPointerException
比较混乱,呵呵update之后怎么还有insert操作?
类似ASP的做法:
rs.open "select * from ChatRecord where [no] is null",conn,3,3
rs.addnew
rs("sendId") = "279332"
..
rs.update..
response.write "该记录的序号是:"&rs("no")
rs=stmt.executeQuery(sql);
rs.moveToInsertRow();
rs.updateString(2, "279332");
...
rs.updateString(7, "373");
rs.insertRow();
rs.close();
sql="SELECT IDENT_CURRENT('ChatRecord')";
rs = stmt.executeQuery(sql);
newid = rs.getInt(1);