Java Mysql更新声明

use*_*611 0 java mysql swing

我正在尝试使用Java Swing更新mysql记录.似乎MySql Update语句存在一些问题.我已粘贴代码如下:

conDBase = getConnection();
stmt = conDBase.createStatement();

String sql = "update user set role = " + jComboBox1.getSelectedItem()+  "where userID =" +  jComboBox2.getSelectedItem();

stmt.executeUpdate(sql);
conDBase.close();
JOptionPane.showMessageDialog(null, "User Role Updated");
this.dispose();
new Admin().setVisible(true);
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 6

好吧,你的代码至少有两个问题:

  • 你没有使用准备好的语句,这意味着你已经开放了SQL注入.(你甚至没有引用你正在使用的值,这可能算作第三个问题.)
  • 在"where"子句之前没有空格

我怀疑这是哪个你发现后面的问题,现在,但你应该明确地解决使用准备好的语句以及代码.

哦,您可能不应该在UI线程上执行任何操作(或从非UI线程访问UI控件)...