java.sql.SQLException: Illegal operation on empty result set.import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;public class shujuku { public static void main(String args[]) { Connection conn; conn = Conn

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 21:52:12
java.sql.SQLException: Illegal operation on empty result set.import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;public class shujuku {    public static void main(String args[]) {        Connection conn;         conn = Conn

java.sql.SQLException: Illegal operation on empty result set.import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;public class shujuku { public static void main(String args[]) { Connection conn; conn = Conn
java.sql.SQLException: Illegal operation on empty result set.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class shujuku {
public static void main(String args[]) {
Connection conn;
conn = Conn.getCon();
try{
Statement stmt = conn.createStatement();
ResultSet sql1=stmt.executeQuery("select * from register where name='cai'");
String iping = sql1.getString("psw");
int porting=sql1.getInt("psw2");
System.out.println(iping);
System.out.println(porting);
}catch(Exception e){
e.printStackTrace();
System.out.println("怎么会有错");
}
}
}
这个怎么错了,麻烦帮我看一下,谢谢啊

java.sql.SQLException: Illegal operation on empty result set.import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;public class shujuku { public static void main(String args[]) { Connection conn; conn = Conn
ResultSet 是个结果集.不能这样取记录的sql1.getString("psw");
需要循环历遍的.那怕结果集返回的只有一条记录
改成这样看看.
public static void main(String args[]) {
Connection conn;
conn = Conn.getCon();
try{
Statement stmt = conn.createStatement();
ResultSet sql1=stmt.executeQuery("select * from register where name='cai'");
while(sql1.next()){
String iping = sql1.getString("psw");
int porting=sql1.getInt("psw2");
System.out.println(iping);
System.out.println(porting);
}
}catch(Exception e){
e.printStackTrace();
System.out.println("怎么会有错");
}
}

select * from register where name='cai'
这条语句没有查到符合的结果
但是你后面直接用了 sql1.getString
所以肯定出错了
你应该先判断有没有返回内容。可是,数据库里有这个结果啊你没取第一条结果 结果集的指针在第一条结果之前 必须调用一次next 才移动到第一行结果上...

全部展开

select * from register where name='cai'
这条语句没有查到符合的结果
但是你后面直接用了 sql1.getString
所以肯定出错了
你应该先判断有没有返回内容。

收起

while(sql1.next()){

String iping = sql1.getString("psw");
int porting=sql1.getInt("psw2");
System.out.println(iping);
System.out.println(porting);
...

全部展开

while(sql1.next()){

String iping = sql1.getString("psw");
int porting=sql1.getInt("psw2");
System.out.println(iping);
System.out.println(porting);
}catch(Exception e){
e.printStackTrace();
System.out.println("怎么会有错");
}
}

收起

resultset是一个结果集,需要遍历!