JSP编程做出来的查询系统,为什么这两种方式从ResultSet里面取值,其中一种查出的结果为空
第一张图上有两段代码,一种用的是直接给Map的Key附值,比较麻烦,但能查出结果,第二段代码被注释了,是用管理器循环附值,输出的结果如第三张图所示,如果我在学号那里输出1...
第一张图上有两段代码,一种用的是直接给Map的Key附值,比较麻烦,但能查出结果,第二段代码被注释了,是用管理器循环附值,输出的结果如第三张图所示,如果我在学号那里输出1111做条件查询,就只能查出一行空数据(即图片上的第一行),证明查询是可以用的,只不过数据不显示,用debug之后,发现向Jsp页面传递的Map里面是有数据的,那问题来了,为什么不显示呢
展开
2个回答
展开全部
整体来看应该没有什么问题,可能出现问题的地方应该在rsmd.getColumnName()这个方法这里。
这个方法获取到的是表中的字段的名称,不是你查询的时候给的别名,也就是说如果你查询语句中有 select name as img001 from table 的时候这个方法返回的是name不是img001
而img001是你页面上显示的字段名称。就会导致无法显示。没有详细的信息,我只能大概推测可能是这个位置的问题
这个方法获取到的是表中的字段的名称,不是你查询的时候给的别名,也就是说如果你查询语句中有 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 这样就可以了
展开全部
首先呢,你需要看在JSP中Map是否为空,如果为空说明你传递有问题,前面你说了肯定查出来了,然后Map里在前端也有数据说明你调用有问题,在你的第二种方法中Map的键是数据库表中的列名,在你前端调用Map总的value值事,key值是你的列名不能与第一种方法的名字一样,一样当然是取不到的,
最后你可以试试,在你前端或这你用Map里数据的地方调用get()时里面的Key传入列名.
最后你可以试试,在你前端或这你用Map里数据的地方调用get()时里面的Key传入列名.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询