我写了这样的代码。 在表(SocialLevelPerUser)中,有两行满足“WHERE-clause”。但是,“while-statement”只运行一次。 我不明白为什么会这样。我正在使用PostgreSQL数据库。 任何想法/评论赞赏。谢谢。
ArrayList<Friend> getFriendList(String userId){
ArrayList<Friend> friendList = new ArrayList<Friend>();
Friend eachFriend = new Friend();
try {
st = connection.createStatement();
rs = st.executeQuery("SELECT \"SourceName\", \"DestinationName\", \"Portion\" "
+ "FROM public.\"SocialLevelPerUser\" "
+ "WHERE \"SourceName\" = '" + userId + "'");
while(rs.next()){
eachFriend = new Friend();
String friendId = rs.getString("DestinationName");
double followingPortion = Double.parseDouble(rs.getString("Portion"));
eachFriend.setUserId(friendId);
eachFriend.setFollowingPortion(followingPortion);
boolean isComplete = isCompleteUserId(friendId);
boolean isFollow = isFollower(friendId, userId);
double followerPortion = getFollowerPortion(friendId, userId);
eachFriend.setIsCompleteUserId(isComplete);
eachFriend.setIsFollower(isFollow);
eachFriend.setFollowerPortion(followerPortion);
friendList.add(eachFriend);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return friendList;
}
我试图在PostgreSQL的客户端上输入查询,结果如下图所示。