首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面临查询错误的问题为"HSQL数据库:意外令牌: END in语句“

面临查询错误的问题为"HSQL数据库:意外令牌: END in语句“
EN

Stack Overflow用户
提问于 2013-05-02 12:21:16
回答 1查看 2.7K关注 0票数 0

我创建了一个activeobject查询,如下所示:

代码语言:javascript
复制
ao.find(IP.class, Query.select().where("user=? AND start>=? AND end<=?",u,datefieldl,datefieldl))

但它给了我以下的错误:

Active Objects库引发了一个SQL异常:数据库:- name:HSQL数据库引擎-版本:1.8.0-次要版本:8-主要版本:-名称:-名称:HSQL数据库引擎驱动程序-版本:1.8.0 java.sql.SQLException:意外令牌:结束语句选择*从PUBLIC.AO_0371A8_IP user=?start>=呢?end<=呢?

创建实体的内容如下:

代码语言:javascript
复制
 IP pi = ao.executeInTransaction(new TransactionCallback() // (1)            
    {   
         @Override
         public IP doInTransaction()
         {
            logger.info("before ao.create");
            IP pi = ao.create(enclass);
                                ....

            pi.save();                              
            return pi;          
         }
    });

我的实体如下:

代码语言:javascript
复制
@Table("IP")
@Preload
    public interface IP extends Entity {

    @Accessor("issues")
    String getIssues();

@Mutator("issues")
void setIssues(String issues);

@Accessor("planStartTime")
Date getPlanStartTime();

@Mutator("planStartTime")
void setPlanStartTime(Date planStartTime);

@Accessor("planEndTime")
Date getPlanEndTime();

@Mutator("planEndTime")
void setPlanEndTime(Date planEndTime);

@Accessor("user")
String getUser();

@Mutator("user")
void setUser(String user);
}

知道吗?

EN

回答 1

Stack Overflow用户

发布于 2013-05-02 12:31:08

意外令牌:以语句结尾

看看你的情况:

代码语言:javascript
复制
"user=? AND start>=? AND end<=?"

END实际上是一个SQL关键字(遵循IFBEGIN的行)。例如,将其改为:

代码语言:javascript
复制
"user=? AND sessionStartTime>=? AND sessionFinishTime<=?"

这里的问题是,当生成最后的SQL查询时,它的语法无效。所以你才会有例外。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16337928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档