如何实现mysql对查找的某一结果值进行修改
怎么实现mysql对查找的某一结果值进行修改
楼主新手,还在学习中,想实现一个小功能,但是一直报错,大神们帮忙看看是什么问题呢。如果有代码结构,更好的写法等等的其它建议也非常欢迎,谢谢哈
1.预先建了个test表,结构:{varchar name,int cnt},手动写入10条记录。
2.有一个imp方法,会查询数据库中是否有符合传入name的记录。每次调用imp方法,如果有符合条件的结果则输出并且修改该记录中的cnt值,让其+1。
------解决思路----------------------
报什么错误?
相要修改数据库里的值可以使用数据库语句,update即可
楼主新手,还在学习中,想实现一个小功能,但是一直报错,大神们帮忙看看是什么问题呢。如果有代码结构,更好的写法等等的其它建议也非常欢迎,谢谢哈
1.预先建了个test表,结构:{varchar name,int cnt},手动写入10条记录。
2.有一个imp方法,会查询数据库中是否有符合传入name的记录。每次调用imp方法,如果有符合条件的结果则输出并且修改该记录中的cnt值,让其+1。
public class test {
private String DRIVER="com.mysql.jdbc.Driver";
private String url="jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8";
private String id="root";
private String pwd="root";
private Connection con;
private Statement s;
private ResultSet r;
public String select(String sqlselect) throws SQLException{
String text="";
con=DriverManager.getConnection(url,id,pwd);
s=con.createStatement();
r=s.executeQuery(sqlselect);
if(r.next()){
text=r.getString(1);
}
return text;
}
public void cnt(String name,String sqlselect) throws SQLException{
int cnt=1;
con=DriverManager.getConnection(url,id,pwd);
s=con.createStatement();
r=s.executeQuery(sqlselect);
if(r.next()){
cnt=r.getInt(2);
}
s.executeQuery("UPDATE test SET cnt="+(cnt+1)+"WHERE name='"+ name +"'");
}
public void imp(String name) throws Exception{
String text="";
String sqlselect="SELECT * FROM test WHERE name='"+ name +"'";
Class.forName(DRIVER);
if(select(sqlselect).length()>0){
cnt(name,sqlselect);
text=select(sqlselect);
r.close();
s.close();
con.close();
}
System.out.println(text);
}
}
------解决思路----------------------
报什么错误?
相要修改数据库里的值可以使用数据库语句,update即可