上次帮同学调试程序,一直会提示:用尽的ResultSet。他是在登陆页面那边根据用户名和密码到数据库中去匹配信息,函数明明没有问题,但当执行到rs.next()这里是,这条语句执行的结果为false。后来到数据库中的用户表查了一下用户信息,用户确实存在,这才是最头痛的问题,我了个艹。
仔细想了一下,会不会是表字段的问题,于是我就看了他建表的语句,这下终于恍然大悟了。原来是我同学把用户名和密码的类型定义为char(6),而在登陆框输入信息时却只输入用户名为111,密码为222,但对于char类型的数据,如果用户存入表的信息不足定义的长度,则数据库会自动以空格补全,也就是说,数据库存的字段信息为“111 ”和“222 ”,而"111"当然不等于"111 ",所以查到的Resultset为空,就会提示用尽的ResultSet了。
解决的办法:
把char(6)改为varchar(6),这样就没有问题了,因为varchar类型的字符串是可变长的,所以不会以空格来补全。
希望对你们有帮助