【问题标题】:I want to insert a special character of SQL in JDBC我想在 JDBC 中插入一个特殊的 SQL 字符
【发布时间】:2015-06-06 03:33:49
【问题描述】:

我想将此 Access sql 查询转换为 Java JDBC

Select * From books Where Lcase(title) LIKE Lcase('*jdbc*') AND Lcase(title) LIKE Lcase('*programming*')

我使用这样的preparedStatement

String sql1="Select * From books Where Lcase(title) LIKE Lcase(%?%) AND Lcase(title) LIKE Lcase(%?%)";
PreparedStatement ps1=con.prepareStatement(sql1);
ps1.setString(1, "jdbc");
ps1.setString(2, "programming");
ResultSet rs1=ps1.executeQuery();

但是我得到一个语法错误

【问题讨论】:

  • 你可以试试这个 Lcase('%?%')。添加这些引号。请向我们提供错误日志

标签: java sql ms-access jdbc


【解决方案1】:

如果要将%插入Lcase使用的值中,有两种选择:

  • 在代码中添加%s,或
  • 在查询中使用串联。

第一种方法如下所示:

String sql1="Select * From books Where Lcase(title) LIKE Lcase(?) AND Lcase(title) LIKE Lcase(?)";
PreparedStatement ps1=con.prepareStatement(sql1);
ps1.setString(1, "%jdbc%");
ps1.setString(2, "%programming%");

第二种方法如下所示:

String sql1="Select * From books Where Lcase(title) LIKE Lcase('%' & ? & '%') AND Lcase(title) LIKE Lcase('%' & ? & '%')";

【讨论】:

  • 好的,谢谢你的解释,我是网站上的菜鸟。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-24
  • 2023-03-10
  • 1970-01-01
  • 2012-08-14
  • 1970-01-01
  • 1970-01-01
  • 2016-04-16
相关资源
最近更新 更多