java 通过指定列 读取列中的数据,返回的都是最后一个行的数据,怎么破?怎么能全部读取
publicStringgetSql(Stringmc,Stringsql){StringXlxqStr=null;if(null==conn){conn=getCon(...
public String getSql(String mc ,String sql){
String XlxqStr = null;
if(null == conn){
conn = getCon();
}
try{
st = conn.createStatement();
rs = st.executeQuery(sql);
while(rs.next()){
XlxqStr = rs.getString(mc);
}
}catch(SQLException e){
e.printStackTrace();
}
return XlxqStr;
}
这个按列名 读取列中的数据。
怎么全部读取呢?每次输出时候 只显示最后行的的数据。 展开
String XlxqStr = null;
if(null == conn){
conn = getCon();
}
try{
st = conn.createStatement();
rs = st.executeQuery(sql);
while(rs.next()){
XlxqStr = rs.getString(mc);
}
}catch(SQLException e){
e.printStackTrace();
}
return XlxqStr;
}
这个按列名 读取列中的数据。
怎么全部读取呢?每次输出时候 只显示最后行的的数据。 展开
展开全部
你可以把读取到的数据放到一个String数组里,一个List,一个ArrayList或者一个StringBuffer里,然后返回这个String数组,List,ArrayList或者StringBuffer.
更多追问追答
追问
我都放在StringBuilder.. 不行。。
StringBuilder sb = new StringBuilder();
sb.append(data.getSql("mc", sql));
sb.append(data.getSql("dwi", sql));
sb.append(data.getSql("qu", sql));
sb.append(data.getSql("gg", sql));
sb.append(data.getSql("zz", sql));
system.out.println(sb);
一试,出来的都是这些列的 最后一行的内容
追答
你把这一段程序都放到while(rs.next())循环里,象这样:
while(rs.next()){
StringBuilder sb = new StringBuilder();
sb.append(rs.getString(mc));
sb.append(rs.getString(dwi));
sb.append(rs.getString(qu));
sb.append(rs.getString(gg));
sb.append(rs.getString(zz));
system.out.println(sb);
}
就可以在控制台打印所有数据了。
展开全部
这肯定是最后一个数据啦,因为每次你都把前面的数据覆盖了:XlxqStr = rs.getString(mc);
1.你可以这样写:XlxqStr =XlxqStr+" "+ rs.getString(mc)+" ";,把得到的数据变成一个长的String。如果数据实在太多,可以考虑用StringBuffer。分割的话可以用String 的split方法。
2.你可以用ArrayList数据存储数据。
ArrayList<String> XlxqStr=new ArrayList<String>();
while(rs.next()){
XlxqStr.add(rs.getString(mc));
}
1.你可以这样写:XlxqStr =XlxqStr+" "+ rs.getString(mc)+" ";,把得到的数据变成一个长的String。如果数据实在太多,可以考虑用StringBuffer。分割的话可以用String 的split方法。
2.你可以用ArrayList数据存储数据。
ArrayList<String> XlxqStr=new ArrayList<String>();
while(rs.next()){
XlxqStr.add(rs.getString(mc));
}
追问
用 XlxqStr =XlxqStr+" "+ rs.getString(mc)+" ";, 我把空格去掉了 输出的怎么带个null的?
我就是要变成一个长String
null为俄文我空间null问额外全额而昆仑镜null五千二俄方电脑
而用ArrayList的话是集合了,
[为俄文, 我, 空间][问额外全额, 而, 昆仑镜]
我是要输入个str 然后 indexOf 跟这些对比。 需要不需要 换成字符串呢? 还是说可以直接对比?
追答
如果和长字符来用作对比的话可以用contains,就是包含的意思。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public List getSql()
List<String> XlxqStr = new ArrayList<String>();
while(rs.next()){
XlxqStr.add(rs.getString(mc));
}
List<String> XlxqStr = new ArrayList<String>();
while(rs.next()){
XlxqStr.add(rs.getString(mc));
}
更多追问追答
追问
获得了很多个集合, 能把那么多个集合的内容 串起来变成一个超长型的字符串吗
追答
你已经获得list了, list里一个元素就对应你的一条数据, 你想怎么处理都可以
如果你的一条数据时多列, 也就是说, 要么你用一个对象来存一条数据, 要么你把这好多列拼成一个字符串来表示一条数据, 总之, list里一个元素就代表一条数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询