㈠ resultset cannot be resolved
你也太粗心了,resultset根本没定义,你后面用的变量是rs。
你可以把resultset改成rs,比如rs.updateString("商品ID号",商品ID号);-----
或者ResultSet rs; 把改成ResultSet resultset;
建议用后面一种方法,你只需要改这个就ok了,如果用前面的,后面的都需要修改
㈡ ResultSet游标移动和,值获取,错误!
这个其实不仔细想的话也应该能猜得到,问题就是越界了。如果你想快速解决问题,那么很简单,确保你每次调用getInt之前的那句next的返回值都检查过是否为true
接下来说一下next()的作用,ResultSet相当于一个指针(或者称之游标)指向一个集合中的元素。next每次将这个游标指向当前元素的下一个元素,并返回true,如果当前已经是最后一个元素了,那么返回false。next()方法本身不会抛异常。
代码1:在while循环中,你调用next()方法时,rs表示的游标可能已经指向末尾了,因此你在它之上调用next()会返回false(但你没有检查),接下来再调用getInt会抛错
代码2:不抛错,因为你调用了next以后立马调用了previous,保证你不会对越界的元素做任何操作
代码3:这个代码不抛错并不表示这个代码不会抛错。你不抛错的原因是你的resultset的元素个数是偶数。所以你每个while循环消耗两行数据,最后末尾的时候会被你的while循环检测到
㈢ 什么情况下会报“未调用 ResultSet.next”这个错误,就想弄清楚这个错误
ResultSet 光标最初位于第一行之前;第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。
上述问题的提示是告诉你:“小伙儿,记录集的光标还在第一条记录之前,还没指向第一条记录。想要获取ResultSet类中的记录先调用.next()方法将光标指向第一条记录吧!”
㈣ JAVA初学者ResultSet结果集报错
你使用的是insert into插入语句,应该使用这个executeQuery方法:
解释如下:
由于在执行插入操作时,调用了executeQuery方法,出现错误;插入操作应该调用executeUpdate方法
int result = stat.executeUpdate(sql.toString());
㈤ 两次调用ResultSet时报错!
这个错 是说 rt.getString("name") 或者
rt.getString("cost") 或者
rs.getString("handset") 这个几个结果集 不能得到数据
rt.next(); 改成
if(rt.next()){
ResultSet rs=stmt.executeQuery("select * from login where email='"+email+"'");
if(rs.next()){
stmt.executeUpdate("INSERT INTO temporary(name,cost,handset)VALUES('"+rt.getString("name")+"','"+rt.getString("cost")+"','"+rs.getString("handset")+"')");
}
}
㈥ ResultSet 获得数据库查询结果是地址,怎么显示里面的数据啊,用rs.next()总是报错啊
ResultSet是一个集合,rs.next()是判断有没有数据,返回值是个boolean类型的。
想得到数据,根据数据类型和select的列名,用 ResultSet.getString(列名),
ResultSet.getBoolean(列名)
等等
㈦ java连接SQL,用的是JDBC,连接上了,statement语句也过了,但是resultset去不执行报错
你的数据库是SQLServer 2000 吗??
如果不是就是你的驱动包倒错了
: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]
看下自己的错误
㈧ expect脚本问题: set result [exec ps -ef]------------正常 set result [exec ps -ef|grep jboss]-报错
腾讯昵称:白牛之C