NutzCN Logo
问答 刚刚接触NUTZ,有个问题问问
发布于 2601天前 作者 qq_09dec3d3 1599 次浏览 复制 上一个帖子 下一个帖子
标签:

我使用的为SQLSERVICE,登录时需判断电脑的IP在备案库内,所以有个查询IP地址的过程。因为IP地址有完整的,有一段的,所以需用LIKE来匹配。但为了保证不浑水摸鱼,如134.161.32.5在库内,但134.161.32.50不再库内,如果用LIKE,会都被允许所以我用了在获取的地址末尾加点号的方法,即"'+ getip()+".'" like "rtrim(ip)%",但在自行是老是出现异常,这个条件用dao.fetch怎么写?Iprule = dao.fetch(iprule.class, Cnd.where(“'”+’”getip()+“.'’”," like ", "rtrim(ip)%" )); 感觉是这个符号‘处理的问题。老大们,字段在条件后的where语句怎么写?谢谢

10 回复

给出你想要的sql

ps,标题要写问题摘要啊,不是无意义的求助啊

谢谢
select * from iprule where '134.161.32.5."' like rtrim(ip)+'%'

134.161.32.5是通过getip()获取到的

额, 这SQL合法吗?? 单引号不太对啊

合法啊,我在SQL上得到输出啊select * from iprule where '134.161.32.5.' like rtrim(ip)+'%'

// 如果还有其他条件,用Static拼
Cnd.where(new Static(String.format("'%s.' like rtrim(ip)+'%'", Sqls.escapeFieldValue(getIp()))));
// 没有其他条件的话, Cnd.wrap就行了

你之前给的SQL多了个双引号

Cnd.where(new Static(String.format("'%s.' like rtrim(ip)+'%%'", Sqls.escapeFieldValue(getIp()))));

貌似还是不匹配, 算了, 你应该明白我的意思的/...

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