求解释 jdbc的东西 不明白为什么

阿诺 阿诺 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
List commonlist=new ArrayList();
dbc = new DBConnection();
ps = dbc.getConnection().prepareStatement(csql);
rs = ps.executeQuery();
List allI=new ArrayList();
while(rs.next()){ //注意这里 我先把所有的name放到list里面
String i = rs.getString("name");
allI.add(i);
}
for(int a=0;a<allI.size();a++){ //遍历list得到每一个name值
String name=(String) allI.get(a);
System.out.println(name);
String huiyuanid = "select auto_id from member where
content_type=1 and content_user='"+name+"'";
dbc = new DBConnection();
ps = dbc.getConnection().prepareStatement(huiyuanid);
rs = ps.executeQuery();
while(rs.next()){
int memberId= rs.getInt(1);
commonlist.add(memberId);//把最后得到的id放入又一个list中
}
}
当这些语句执行完毕后 我得到 commonlist.size()是240【数据库就是240条数据】
我将上面的程序改为如下:
List commonlist=new ArrayList();
dbc = new DBConnection();
ps = dbc.getConnection().prepareStatement(csql);
rs = ps.executeQuery();
while(rs.next()){ //1
String name = rs.getString("name") String huiyuanid = "select auto_id from member where content_type=1 and
content_user='"+name+"'";
dbc = new DBConnection();
ps = dbc.getConnection().prepareStatement(huiyuanid);
rs = ps.executeQuery();
while(rs.next()){ //2
int memberId= rs.getInt(1);
commonlist.add(memberId);//3
}
}//4
这样得到的commonlist大小只是1 我调试了下 大概是秩序:1-2-3.完毕后又由3倒回去即:3-2-1.最后就到4
而我预期的应该是1-2-3,3-2-1.又1-2-3,3-2-1.这样反复直到240数据都得到。
请问各位前辈们 我哪里理解错了,请指教!谢谢
...全文
评论 5
收藏 已收藏
分享
返回顶部
阿诺
Java EE 67,535 成员 225,843 内容