java JDBC sql server 判断一条信息是否已存在表中,如果不存在则添加,如果存在则更新重要字段
代码如下:sql=con.prepareStatement("select*fromIntegralwhereID=?");sql.setString(1,ID);rs=...
代码如下:
sql = con.prepareStatement("select * from Integral where ID = ? ");
sql.setString(1, ID);
rs = sql.executeQuery();
rs.next();
//System.out.print(rs.getString("ID"));
if(rs.getString("ID").equals(ID)){
sql = con.prepareStatement("update Integral set grade = grade + ?");
int day1 = Integer.parseInt(day);
sql.setInt(1, day1);
sql.executeUpdate();
}else{
sql = con.prepareStatement("insert into Integral(Iname,ID,sex,grade)" + "values(?,?,?,?)");
sql.setString(1, name);
sql.setString(2, ID);
sql.setString(3, sex);
sql.setString(4, day);
sql.executeUpdate();
}
其中ID是通过getString获得字符串,“ID”是列名,其中如果删除else之后内容,可以做到更新,但是如果加上else则会报错,显示“结果集没有当前行” 请各位大神帮帮忙,谢谢了! 展开
sql = con.prepareStatement("select * from Integral where ID = ? ");
sql.setString(1, ID);
rs = sql.executeQuery();
rs.next();
//System.out.print(rs.getString("ID"));
if(rs.getString("ID").equals(ID)){
sql = con.prepareStatement("update Integral set grade = grade + ?");
int day1 = Integer.parseInt(day);
sql.setInt(1, day1);
sql.executeUpdate();
}else{
sql = con.prepareStatement("insert into Integral(Iname,ID,sex,grade)" + "values(?,?,?,?)");
sql.setString(1, name);
sql.setString(2, ID);
sql.setString(3, sex);
sql.setString(4, day);
sql.executeUpdate();
}
其中ID是通过getString获得字符串,“ID”是列名,其中如果删除else之后内容,可以做到更新,但是如果加上else则会报错,显示“结果集没有当前行” 请各位大神帮帮忙,谢谢了! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询