gpt4 book ai didi

java - 创建 java Query 对象时转义字符串文字 "by"、sql 保留字

转载 作者:行者123 更新时间:2023-12-02 08:08:43 25 4
gpt4 key购买 nike

以下代码抛出异常,因为字符串字段中包含 SQL 保留字“by”。我该如何转义这个保留字。该代码适用于 Google 数据存储。

String field="Hosted by me"
PersistenceManager pm=PMF.get().getPersistenceManager();
try{
Query query=pm.newQuery("select from "+SomeObject.class.getName()
+" where mField=='"+field+"'");
_logger.info(query.toString());
SomeObject=query.execute();
}finally{
pm.close();
}

这是一个异常(exception)::org.datanucleus.exceptions.NucleusUserException:查询包含无序的 JDOQL 关键字(“by”)。关键字只能按定义的顺序使用。

最佳答案

试试这个:

PersistenceManager pm = ...;
try {
Query quer = pm.newQuery("select from " + SomeObject.class.getName()
" where mField == mFieldParam" +
" parameters String mFieldParam");
List<SomeObject> results = (List<SomeObject>) query.execute("Hosted by me");
} finally {
...
}

关于java - 创建 java Query 对象时转义字符串文字 "by"、sql 保留字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7780741/

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