gpt4 book ai didi

java - 在java中更新sql记录时反斜杠消失

转载 作者:行者123 更新时间:2023-11-30 07:01:38 24 4
gpt4 key购买 nike

当我插入图像路径时,反斜杠保留在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());

最佳答案

在执行插入时,您使用的是准备好的语句 - 这很好,因为它们以它们出现的方式存储在数据库中。

但是在进行更新时,无论如何,您都会将值设置为“纯字符串”。应避免这种情况,因为这也是一个很高的安全风险(SQL 注入(inject))。尝试通过准备好的语句在插入时进行更新。此 JDBC 基础知识链接可能对您有帮助:https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

关于java - 在java中更新sql记录时反斜杠消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40809050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com