gpt4 book ai didi

java - SQL 查询问题

转载 作者:行者123 更新时间:2023-11-29 06:41:25 26 4
gpt4 key购买 nike

我在使用 SQL 查询时遇到问题。问题是我正在查询企业名称的外部数据库,有些名称类似于“Martha's”(包括撇号)。因为我正在从 Android 应用程序查询,所以查询字符串如下所示:

String query = "Select * from Advertiser where AdvName= '" + name + "';";

那么我是否可以忽略或更改查询中的撇号?

提前致谢!

最佳答案

这就是为什么在执行参数化查询时应该始终使用准备好的语句的原因之一:

String sql = "select * from Advertiser where AdvName = ?";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();

JDBC 驱动程序会为您转义引号,这也会防止 SQL injection攻击。

当您必须多次执行相同的查询但使用不同的参数时,准备好的语句也具有性能优势。

阅读 JDBC tutorial 中有关准备好的语句的更多信息.

旁注:您不应在查询末尾使用 ;

关于java - SQL 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11481502/

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