发布网友 发布时间:2022-04-15 12:05
共4个回答
懂视网 时间:2022-04-15 16:26
bitsCN.com热心网友 时间:2022-04-15 13:34
你的id在数据库中类型应该是double的,但是你传了个字符串进去了,改成这样热心网友 时间:2022-04-15 14:52
public class MSUpdate {
private static DBSelect rid;
private static DBSelect idtype;
public void setDBSelect(DBSelect rid, DBSelect idtype){
this.rid=rid;
this.idtype=idtype;
}
public static void MSup(String[] args) {
MSDelete a=new MSDelete();
MSDelete b=new MSDelete();
DBSelect rid=new DBSelect();
DBSelect idtype=new DBSelect();
a.setDBSelect(rid);
b.setDBSelect(idtype);
MSConnection mysql = new MSConnection();
Connection con = mysql.getConnection();
PreparedStatement pst = null;
String sql = "update radius set username=?,value=?, where rid=" + rid + ",idtype=" + idtype;
try {
pst = con.prepareStatement(sql);
System.out.println("update");
pst.setString(1,"aaaa");
pst.setString(2, "12345");
pst.executeUpdate();
pst.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where rid=sql.DBSelect@b166b5,idtype=sql.DBSelect@cdfc9c' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)
at mysql.MSUpdate.MSup(MSUpdate.java:40):
热心网友 时间:2022-04-15 16:27
String s="delete from saccount where id = '" + id + "' ";