我为什么不能把从数据库读出来的字符串赋值给String的变量String str=rs.getString("name");总是出错.但是能直接输出System.out.println(rs.getString("name"))急啊 我在线等 哪位帮我解决一下 33XXXXXX!
解决方案 »
- JNDI
- 向各位前辈求助:关于值传递和引用传递(高手勿笑)
- 调用webservice时遇到的困难
- 小弟马上就要论文开题了,但是没有什么头绪,请各位前辈指点!
- 一个程序里做多个SOCKET连接,如果第一个连接不上,后面的就不进行了, 为什么?有经验的同仁来看!
- resin3.0+iis如何配置?在线等,给分。
- 用servlet下载中文件名的文件时的乱码问题
- 关于tomcat中的Environment Entries问题,请教..
- jsp上传文件进度条问题
- 使用dubbo 写了一个测试例子 报错,求指导 org.springframework.beans.factory.BeanCreationException:
- hbm2java 生成java代码问题
- java连接数据库中的问题
.......
ResultSet类型的rs指针已经到了最后
所以就会出现上面的错误楼主可以可以把代码贴出来,帮你看看
你的while(rs.next())
{.....}
中又用了几个ResultSet ,
也就是说你可能没使用连接查询直接这样在rs里面嵌套rs造成这个错误
这种情况:
几个ResultSet要独立,不要同时引用同一个ResultSet,也就是说不能嵌套好几个ResultSet
几个Statement要独立,不要同时引用同一个Statement
改成String str=rs.getString("name")+"";试试
这是什么意思不懂啊??
在结果集之后
就是说你结果集如果有3个,你循环到第4个了,当然会错
去掉试一下或者设置一个变量保存rs.getString("name");比如
String str= rs.getString("name");
System.out.println(str);System.out.println(rs.getString("name")) //不要再调用rs.getString("name")
1. ResultSet已经到最后了
2. 没有记录符合你的查询条件,所以结果集是空的所以一般在使用ResultSet之前(或循环之前),要判断它是否为空。
System.out.println(rs.getString("name"));
这样就会出问题,同一列数据只能调用一次
String str=rs.getString("name");
System.out.println(str);
改成这样就OK了,java里头有这个问题,VC里头就没有了,反复调用几次都没问题,VC用惯了的程序员用java的确会出现很多头疼的问题。