gpt4 book ai didi

java - 将文件路径插入数据库删除\

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:44 26 4
gpt4 key购买 nike

我是java新手。我想将从 FileChooser 中选择的文件路径插入到数据库中。但是当我尝试这样做时,路径在查询语句之前是正确的,并且在将其输入数据库后,它删除了文件路径中存在的所有反斜杠。

filepath=f.getCanonicalPath();
// some database statements....
String query="insert into table1 values('" + filepath + "')";

如果我选择的文件路径是:

"C:\users\documents\hello.txt";

它将其插入为:

"C:Usersdocumentshello.txt"

最佳答案

基本上,您不应该像那样将您的值直接放入 SQL。

你应该使用 PreparedStatement并使用您的值设置参数。无需转义,也没有 SQL 注入(inject)攻击的风险。

String query = "insert into table1 values(?)";

PreparedStatement statement = connection.prepareStatement(query);
try {
statement.setString(1, filePath);
statement.executeUpdate();
} finally {
statement.close();
}

任何当您发现自己根据用户输入动态构建 SQL 时,您应该退后一步,强烈考虑改为使用参数化 SQL。 (如果您的应用程序基本上是一个 SQL 开发工具则异常(exception)...)

关于java - 将文件路径插入数据库删除\,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14871760/

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