ResultSet的getString方法为什么只能读取第一列呢。。

tx183584 2010-09-18 10:52:35
    int i=1;
while(rs.next()){
String name1=rs.getString(i);
System.out.println(name1);
i++;
}

看了api,应该是这样写才对的吧,但是只能读取第一列,第二列就读不出来了
...全文
348 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
parisliu2009 2010-09-19
  • 打赏
  • 举报
回复
循环逻辑方面有点问题,这种问题最好是设断点,跟一下,就应该能发现了
gmqian 2010-09-19
  • 打赏
  • 举报
回复
每个rs.getString(i)只能给一个String。若收集多个rs.getString(i)用StringBuffer()代替String
pengzhistar 2010-09-19
  • 打赏
  • 举报
回复
循环逻辑错误!这么明显都没发现? 楼主去掰手指算算!还有继续去读小学!
qqzhuyuehe 2010-09-19
  • 打赏
  • 举报
回复
循环逻辑错误!
ladybirds2008 2010-09-19
  • 打赏
  • 举报
回复
superman1986 2010-09-18
  • 打赏
  • 举报
回复
楼主的循环有点混乱啊
首先 你得知道你有几列数据,就不要使用变量i了
可以这样改:假如 你有3列数据(注意是3列,不是3行)

while(rs.next()){
String name1=rs.getString(1);
String col2=rs.getString(2);
String col3=rs.getString(3);
System.out.println(name1);

}
dr_lou 2010-09-18
  • 打赏
  • 举报
回复
while(rs.next()){
此处rs指向了一条记录,在这里你可以再做一个循环取每一列的值。
如:for(int i = 1; i < 5; i++){
System.out.print(rs.getString(i)+",");
}
System.out.println();
}
sound9world 2010-09-18
  • 打赏
  • 举报
回复
楼主这样写一行只打印一列啊

相当于 循环第一行时 打印第一列 第二行时打印第二列 ……

getString(i) 这里的int i 应该是结果集中的列的序号吧

要想一行获得多列 应该多些几个getString(2)

有点混乱

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧