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,应该是这样写才对的吧,但是只能读取第一列,第二列就读不出来了
...全文
331 9 打赏 收藏 转发到动态 举报
写回复
用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)

有点混乱
针对2维表数据的分页。不针对各种不同数据库为了提高效力而使用的分页读取。 对各种有可能转化成2维表数据的数据先通过自定义的转化器转化成ArrayList(HashMap)或 ArrayList(javabean) 如果类型为ArrayList不需要转化,已经写了2个,分别为ResultSet和Vector,其它特殊类型的转化自己实现SourceConv接口,并在SourceConvFactory中注册(注册没有 写在配置文件,自己按需要去完善 :) ) 对第2维的格式化(即列数据),通过实现PageCol接口,已经有javabean和hashmap两种的格式化 import com.miphone.newcard.source.*; import java.util.*; 1.ArrayList source=.......; //不需要转化 2.ResultSet source=.......; //需要在后面添加 tool.setSourceType("ResultSet");已经有一个SourceConv的子类处理 //ResultSet的格式化 3.Vector source=........; //需要在后面添加 tool.setSourceType("Vector");已经有一个SourceConv的子类处理 //Vector的格式化 4.OtherObj source=......; //自己实现SourceConv接口,并在SourceConvFactory中注册,需要在后面添加 tool.setSourceType("名字","class路径及名称"); 5 tool.setSourceColType("列数据类型名");//默认为HashMap,已经有HashMap和javabean的实现,javabean需要 tool.setClassName("javabean类名"); 6 tool.setSourceColType("列数据类型名","类名");//自定义的列数据格式 PageTool tool=new PageTool(); tool.setSource(source); Vector cols=new Vector(); cols.addElement("id"); cols.addElement("name"); cols.addElement("value"); cols.addElement("type"); cols.addElement("note"); tool.setColNams(cols);//设定读取字段 tool.setPageSize(10);//设定pagesize String[] infos = {"", "", "", "", ""}; tool.setPageInfo(infos);//设定分页的显示,默认为{"页次", "首页", "上一页", "下一页", "尾页"}; tool.setHrefName("search.jsp"+args);//分页显示的指向超链接。如 search.jsp?id=1 String thispage=request.getParameter("page"); tool.makeCurrentPage(thispage);//设定当前页,thispage的判断由PageTool自己控制。 tool.Create();//生成分页 //读取 while(tool.next()){ String id=rs.getString("id"); String id2=rs.getString(1);//下标从1开始 String name=rs.getString("name"); String name2=rs.getString(2); } rs.free();//不是必须得,在重复利用时需要用来清空已经有数据的对象。 /* 分页显示方法 */ tool.getFirstPage(); tool.getForwardPage(); tool.getNextPage(); tool.getLastPage(); tool.getTotalInfo(); tool.getRecordCount(); tool.getPageSize();

50,526

社区成员

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

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