NutzCN Logo
问答 两种场景中使用Cnd.wrap()不同之处
发布于 3072天前 作者 qq_43f55c24 2413 次浏览 复制 上一个帖子 下一个帖子
标签: dao cnd

自定义sql查询时
Sql sql = Sqls.create("SELECT taskid FROM gab_summary_taskdir $condition");
sql.setCondition(Cnd.wrap("taskid='ccc693f6-41dc-4282-8dc6-5ba480a98091'"));
.....................................
dao.execute(sql);
执行查询时 :: Nutz SQL Error: 'SELECT taskid FROM gab_summary_taskdir taskid='ccc693f6-41dc-4282-8dc6-5ba480a98091'' //error

非自定义查询时:
TaskDir dir =dao.fetch(TaskDir.class, Cnd.where("taskid", "=", "ccc693f6-41dc-4282-8dc6-5ba480a98091")); //ok
TaskDir dir2 =dao.fetch(TaskDir.class, Cnd.wrap("taskid='ccc693f6-41dc-4282-8dc6-5ba480a98091'")); //ok
执行sql:SELECT taskid FROM gab_summary_taskdir taskid='ccc693f6-41dc-4282-8dc6-5ba480a98091

l两种场景中为什么一个钟缺少where关键字,一个不缺少?

2 回复

什么版本??? 我试了一下最新版本,没问题的呢

    @Test
    public void test_cnd_wrap() {
        Sql sql = Sqls.create("select * from user $condition");
        sql.setCondition(Cnd.wrap("1=1"));
        System.out.println(sql);
    }

输出

select * from user  WHERE 1=1

就是版本太低了,用的nutz-1.b.52-jdk5.jar,换过版本之后可以了,thanks!!!

添加回复
请先登陆
回到顶部