【问题标题】:Unable to escape space in a string java无法转义字符串 java 中的空格
【发布时间】:2017-02-08 09:58:12
【问题描述】:

这是我的代码:

Assume metaname = "hello world";
String metaname = metaname.replaceAll("/", "\\/").replaceAll(" ", "\\  ");
adding metaname as parameter to query.

FreeformQuery query = new FreeformQuery("select * from table where metaname =" +metaname);

这给了我错误:

com.microsoft.sqlserver.jdbc.SQLServerException:“世界”附近的语法不正确。

【问题讨论】:

  • 请贴出整个代码...你怎么会出现字符串操作的sql错误
  • 你为什么要这样做而不是使用PreparedStatement
  • replace(" ", "\\ ")
  • 你试过了吗 String str ="'hello world'"; ?双引号内有单引号
  • 我对 SQL Server 没有经验,但您确定需要转义 空格 吗??

标签: java sql-server string


【解决方案1】:

尝试使用 2 个反斜杠 "\\" 作为反斜杠,它的自身需要被转义

【讨论】:

    【解决方案2】:

    通过将元名称放在单引号内解决问题: FreeformQuery query = new FreeformQuery("select * from table where metaname = '" +metaname+ "'");

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多