好吧,所以我要在Java和mysql上构建一个项目,此时我不得不更新MySql中的数据,但是从我的Java GUI应用程序中,我已经从MySql命令行执行了update命令客户
update user set bldu = 50 where userid = 1001;
它在那里工作得很好,但是从我的Java应用程序中,单击分配的jbutton时,它说:
您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的'userid = 1001'附近使用
请帮助我..!
答案 0 :(得分:2)
String query = "update user SET bldu = " + bldut + " WHERE userid = " + uid + ";";
使用此查询代替您的旧查询可能会对您有所帮助。
答案 1 :(得分:2)
在第一个屏幕截图中,您必须在WHERE
子句之前添加一个空格:
String query = "UPDATE user SET bdlu = " + bldut + "WHERE userid = " + uid + ";";
因此您的查询将被解释为:
UPDATE user SET bdlu = 50WHERE userid = 1001
因此您将引发语法错误。
然后您将有以下查询:
String query = "UPDATE user SET bdlu = " + bldut + " WHERE userid = " + uid + ";";
答案 2 :(得分:0)
在您的代码中尝试使用此代码段。
String query = "update user SET bldu = " + bldut + " WHERE userid = " + uid + ";";
Statement = con.prepareStatement(query);
Statement.executeUpdate();
通过查看代码,您无法将更新查询的结果存储在resultSet中。executeUpdate()仅针对更新的成功和失败返回0或1。
答案 3 :(得分:0)
好的,伙计们,我已经弄明白了它正在工作,这意味着该程序正在通过jdbc从netbeans更新mysql中存储的数据,但是它不会停止显示以下错误消息:
“无法使用executeQuery()发出数据操作语句”
每次我单击一个分配了jButton的按钮。但是我检查了数据库,我要更改的值正在更改,但是为什么它显示此错误。
答案 4 :(得分:0)
请在您的java文件中使用此代码,请根据您的文件进行更改。您的问题是您正在已用于更新的结果集中使用相同的查询
连接conn = DriverManager.getConnection( “ jdbc:mysql:// localhost:3306 / bdb”,“ root”,“ root”);
尝试{
String query = "update user SET bldu = " + bldut+ " WHERE userid = " + uid + ";";
// create the java mysql update preparedstatement
Class.forName("com.mysql.jdbc.Driver").newInstance();
PreparedStatement preparedStmt = conn.prepareStatement(query);
preparedStmt.executeUpdate();
query = "select * from user WHERE userid = " + uid +";";
ResultSet rs = stmt.executeQuery(query);
// STEP 5: Extract data from result set
while (rs.next()) {
// Retrieve by column name
String userid = rs.getString("userid");
String userfname = rs.getString("userfname");
// all your column
// Display values
System.out.print("userid: " + userid);
}
// STEP 6: Clean-up environment
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
} finally {
// finally block used to close resources
try {
if (conn != null)
conn.close();
} catch (SQLException se) {
se.printStackTrace();
}// end finally try
}// end try