java.sql.SQLException: Illegal operation on empty result set.
importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.Statement;publiccla...
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("怎么会有错");
}
}
}
这个怎么错了,麻烦帮我看一下,谢谢啊 展开
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("怎么会有错");
}
}
}
这个怎么错了,麻烦帮我看一下,谢谢啊 展开
4个回答
展开全部
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("怎么会有错");
}
}
需要循环历遍的。那怕结果集返回的只有一条记录
改成这样看看。
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
所以肯定出错了
你应该先判断有没有返回内容。
这条语句没有查到符合的结果
但是你后面直接用了 sql1.getString
所以肯定出错了
你应该先判断有没有返回内容。
追问
可是,数据库里有这个结果啊
追答
你没取第一条结果
结果集的指针在第一条结果之前
必须调用一次next
才移动到第一行结果上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
resultset是一个结果集,需要遍历!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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("怎么会有错");
}
}
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("怎么会有错");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询