java数据库表格插入问题!!!请大家帮忙看看,谢谢了,,,,

就是我的表格有三个属性分别为:userId(int是自增的),userName(String),password(String)下面是我的插入方法(因为userId是自增... 就是我的表格有三个属性分别为:userId(int是自增的),userName(String),password(String)
下面是我的插入方法(因为userId是自增的所以插入时只用插入userName,和password),那么现在问题来了,我想把下面程序的返回值改为本次插入时数据库自增得到的userId,请问怎么改啊?
public static int addUser(String userName,String password) {
PreparedStatement sql;
try {
sql = CommonMethod.connectDataBase().prepareStatement("insert into User_table values(?,?)");
// CommonMethod.connectDataBase()是连接数据库的方法返回类型是Connection
sql.setString(1, userName);
sql.setString(2, password);
sql.execute();
return 1;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return 0;
}
}
展开
 我来答
康桑米达哇哇
2013-04-06 · TA获得超过143个赞
知道小有建树答主
回答量:269
采纳率:0%
帮助的人:92.5万
展开全部
参考JAVA 的API
Interface java.sql.Statement
int executeUpdate(String sql,  int autoGeneratedKeys)

以下是demo:
Statement stmt = conn.createStatement();
String sql = "INSERT INTO t_topic(topic_title,user_id) VALUES(‘测试主题','123') ";
stmt.executeUpdate(sql,Statement.RETURN_GENERATED_KEYS); ①指定绑定表自增主键值
ResultSet rs = stmt.getGeneratedKeys(); if ( rs.next() ) { int key = rs.getInt();②获取对应的表自增主键值 }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秋绛冰
2013-04-07
知道答主
回答量:14
采纳率:0%
帮助的人:4.6万
展开全部
先插入,完成之后不关闭连接 再查询啊 select* from usertable where username= ? 参数当然是你传入的username啦
追问
谢谢你的回答,username不是主键,userId才是主键
追答
晕   我当然知道username不是主键啦  你不是要返回插入数据之后的自动增长的userId吗?  插入数据完成后,再根据你插入数据时的username查询这条数据获取userId
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maye100
2013-04-06 · TA获得超过2650个赞
知道小有建树答主
回答量:1341
采纳率:100%
帮助的人:964万
展开全部
不同数据库使用的方法不同,不知道你用的哪种,只好给你写一个mysql的吧

PreparedStatement lastPs = conn.prepareStatement("select last_insert_id()");
ResultSet rs = lastPs.executeQuery();
int primaryId = rs.getString(1);

return primaryId ;
追问
非常感谢你的回答,我用的是sql sever 2005按照你的思路,
结果此句(int primaryId = rs.getInt(1);)
报出错:com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行
请问怎么解决啊?再次感谢。。。
追答
首先,select last_insert_id()是mysql专有的,当然不行
sql2005的方法:
插入完之后再调用:SELECT IDENT_CURRENT ('表名') AS Current_Identity;
就会返回当前最新的主键值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1707a44
2013-04-06 · TA获得超过211个赞
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:106万
展开全部
哪里有问题啊,我运行正常啊
追问
谢谢了,你没看清题目
追答
没呢  你不是问那个人为什么你照着他的改 还是有问题,我是问你那个你的问题在哪里。是哪里不对了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式