Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在SQL查询中使用%_Java_Sql - Fatal编程技术网

Java 在SQL查询中使用%

Java 在SQL查询中使用%,java,sql,Java,Sql,这是我的问题。我设计数据库的方式使我必须在查询中%。如果我在sqldeveloper上执行这个查询,那么它可以正常工作。但是,当我在放入JSP文件的Java代码中执行此操作时,会出现以下错误: 标记“%”上的语法错误,表达式无效 我做错了什么?如何修复它?我对JSP不在行,但是如果您想将它用作SQL通配符,%不应该是查询字符串的一部分吗 SELECT MAX(sm_version) AS version_latest, user_type AS role_perfor

这是我的问题。我设计数据库的方式使我必须在查询中
%
。如果我在sqldeveloper上执行这个查询,那么它可以正常工作。但是,当我在放入JSP文件的Java代码中执行此操作时,会出现以下错误:

标记“%”上的语法错误,表达式无效


我做错了什么?如何修复它?

我对JSP不在行,但是如果您想将它用作SQL通配符,
%
不应该是查询字符串的一部分吗

SELECT MAX(sm_version) AS version_latest, 
       user_type       AS role_performed 
FROM   usage_database 
WHERE  user_id LIKE ( '"+%eid_upper+"' ) 
        OR user_id LIKE ( '"+eid_lower+"' ) 
GROUP  BY user_type 
WHERE  user_id LIKE ( '%"+eid_upper+"' )

编辑:关于SQL注入的常见注释,yada-yada-yada

我对JSP不在行,但是如果您想将
%
用作SQL通配符,它不应该是查询字符串的一部分吗

WHERE  user_id LIKE ( '%"+eid_upper+"' )

编辑:关于SQL注入的常见注释,yada-yada-yada

使用准备好的语句和绑定变量

WHERE  user_id LIKE ( '%"+eid_upper+"' ) 

使用准备好的语句和绑定变量

WHERE  user_id LIKE ( '%"+eid_upper+"' ) 

不要使用字符串连接来生成查询!不要使用字符串连接来生成查询!想想看,您还必须在
eid_upper
中转义特殊匹配字符(如%和)。想想看,您还必须在
eid_upper
@user563577中转义特殊匹配字符(如%和)。这个答案不值得“接受”。第一,弗雷德是第一,第二,答案是terribleBrown:你可以删除它。甚至可能有一个徽章(删除已接受的答案);-)@user563577此答案不值得“接受”。第一,弗雷德是第一,第二,答案是terribleBrown:你可以删除它。甚至可能有一个徽章(删除已接受的答案);-)只有OP可以更改接受的答案。你必须等到他回来(如果他回来的话)。只有OP可以更改被接受的答案。你得等到他回来(如果他回来的话)。