JSP编程做出来的查询系统,为什么这两种方式从ResultSet里面取值,其中一种查出的结果为空

第一张图上有两段代码,一种用的是直接给Map的Key附值,比较麻烦,但能查出结果,第二段代码被注释了,是用管理器循环附值,输出的结果如第三张图所示,如果我在学号那里输出1... 第一张图上有两段代码,一种用的是直接给Map的Key附值,比较麻烦,但能查出结果,第二段代码被注释了,是用管理器循环附值,输出的结果如第三张图所示,如果我在学号那里输出1111做条件查询,就只能查出一行空数据(即图片上的第一行),证明查询是可以用的,只不过数据不显示,用debug之后,发现向Jsp页面传递的Map里面是有数据的,那问题来了,为什么不显示呢 展开
 我来答
举杯邀天三千雪
2014-11-20 · TA获得超过157个赞
知道小有建树答主
回答量:104
采纳率:100%
帮助的人:77.5万
展开全部
整体来看应该没有什么问题,可能出现问题的地方应该在rsmd.getColumnName()这个方法这里。
这个方法获取到的是表中的字段的名称,不是你查询的时候给的别名,也就是说如果你查询语句中有 select name as img001 from table 的时候这个方法返回的是name不是img001
而img001是你页面上显示的字段名称。就会导致无法显示。没有详细的信息,我只能大概推测可能是这个位置的问题
追问

追答
这个简单api里面有getColumnLabel这个方法,使用来获取别名的如果你有别名取得是别名,如果没有别名取得和getColumnName是一样的

也就是说你在数据库中查询的时候select name as img001 from table 用这个方法获取到的是img001这样你就可以在写sql语句的时候给sql的fvalue字段写成

fvalue as img003 这样就可以了
百度网友fe660d0
2014-11-20 · TA获得超过142个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:90.7万
展开全部
首先呢,你需要看在JSP中Map是否为空,如果为空说明你传递有问题,前面你说了肯定查出来了,然后Map里在前端也有数据说明你调用有问题,在你的第二种方法中Map的键是数据库表中的列名,在你前端调用Map总的value值事,key值是你的列名不能与第一种方法的名字一样,一样当然是取不到的,

最后你可以试试,在你前端或这你用Map里数据的地方调用get()时里面的Key传入列名.
更多追问追答
追问

追答
我想了一下,有两个可行的办法,第一在你查询语句中将列起个你想要的别名.

第二在你赋值的时候需要特定判断你出问题的列,然后在赋值的时候自定义给Map的key
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式