代码如下:
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,,本人技术渣,,写成现在这样,这个问题困扰了我好几个小时了,各位大神,看看是哪里出错了
while( rs.next() ){
//如果有数据就可以取数据了
}
因为用java.sql.Statement的executequery()方法查询的结果集永远不会返回null,可以用rs.next()方法来判断有没结果集
1
2
3
4
5
|
if
(ss !=
null
){
while
(rs.next()){
// 如果确定不会超过一条,这里可以改成if
// 查询有返回记录
}
}
|