本人技术渣,写成现在这样,这个问题困扰了我好几个小时了,各位大神,看看是哪里出错了

代码如下:
public int voteUser(voteUser vv) throws SQLException// 在表voteUser中查找该用户是否在 某一voteid中已投过票
{
getConnection db=new getConnection();
String sql="select * from voteUser where voteId='"+vv.getVoteId()+"' and userName='"+vv.getUserName()+"'";
System.out.println(sql);

int aa=0;

ResultSet ss=db.select(sql);
ss.last();
if(ss.getRow()==0)
{
aa=1;
System.out.println("voteDaozhong 该用户名是否存在"+aa);
}
else
{
aa=0;
System.out.println("voteDaozhong 该用户名是否存在"+aa);
}
db.close();
return aa;

}

getConnection 128行附近代码如下
public ResultSet select(String sql) {
ResultSet rs = null;
try {
rs=st.executeQuery(sql);

} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}

错误提示如下:

这个函数的目的是查看数据库表中是否存在相应的记录, 入股存在则返回1,不存在则返回0






狐的传说
浏览 91回答 2
2回答

炎炎设计

ResultSet的next方法就可以判断出来了while( rs.next() ){//如果有数据就可以取数据了}因为用java.sql.Statement的executequery()方法查询的结果集永远不会返回null,可以用rs.next()方法来判断有没结果集

弑天下

if(ss != null){  while(rs.next()){  // 如果确定不会超过一条,这里可以改成if    // 查询有返回记录  }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java