注册 登录
编程论坛 J2EE论坛

插入一个新的记录,使字段id在目前的最大数基础上加1;

fqj793 发布于 2007-02-14 09:23, 564 次点击

String sq="select max(id) as idd from wglmessage";
我是这样做的,但不知道该如何去取得idd的值,请教了,各位!

8 回复
#2
fqj7932007-02-14 09:24
说明一点:id字段是int的.
#3
fqj7932007-02-14 11:17

都回家过年了?那祝大家春节快乐,新的一年心想事成!

#4
支离破碎2007-02-14 12:03

like this?you can have a try~~


[CODE]import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class TestTest{

public static void main(String[] args){

try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs","flash7758","198244");
Statement stm=con.createStatement();
ResultSet rs=stm.executeQuery("select max(job_id) as iid from JObs");

while(rs.next()){
System.out.println(rs.getInt("iid"));
}
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
[/CODE]

#5
fqj7932007-02-14 12:17
System.out.println(rs.getInt("iid"));
这句不是读取表中的字段的值吗?
#6
支离破碎2007-02-14 13:05
是的,你要手动去添加ID?你可以把这个值取出来再+1后,insert进去,但这样生成主键不怎么好~~~
#7
fqj7932007-02-14 15:11

哦!谢了.

#8
distorting2007-02-18 09:29
如果是MYSQL,用自增列是最简便的
在创建表时将该关键字段的定义后跟上AUTO_INCREMENT即可,这样就可以不用写代码了.

#9
fqj7932007-02-18 09:57

哦!谢了,各位!

1