当我INSERT
图像路径时,反斜杠仍然存在C:\Users\COMP\Desktop\Image.png
。但是如果我UPDATE
sql记录了相同的路径代码,则反斜杠会消失C:UsersCOMPDesktopImage.png
query = "UPDATE battle SET name = '"+jTextField2.getText()+"', Image = '"+jTextField1.getText()+"' WHERE name = '"+jTextField2.getText()+"' ;";
但INSERT我做的不同
protected void insertW(String s1, String s2) query = "INSERT INTO db.work (db.work .name, db.work .Image) VALUES (?,?);";
并通过insertW传递字段insertW(jTextField1.getText(), jTextField2.getText());
如何解决?
JFileChooser chooser=new JFileChooser();
chooser.showOpenDialog(null);
File f=chooser.getSelectedFile();
String filename=f.getAbsolutePath();
jTextField1.setText(filename);
ImageIcon icon = new ImageIcon(f.getAbsolutePath());
答案 0 :(得分:1)
在进行插入时,您正在使用预准备语句 - 这很好,因为它们以它们的方式存储在数据库中。
但是在进行更新时,无论如何都将值设置为“普通字符串”。这应该避免,因为这也是一个高安全风险(SQL注入)。尝试通过预处理语句进行插入更新。这个指向JDBC基础知识的链接可以帮助您:https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html