ODB 实现分页查询

我感觉这也是临时解决方案(本人以Sqlite为例)

查了三天三夜的官方文档,也没有涉及paged query相关的内容

但发现可设置原生sql的查询条件

query q ("first = 123 AND agee = " + query::_ref (age));

查看Sqlite分页查询语句select from T_user limit 5 offset 0;

添加查询条件query q ("LIMIT" + query::_ref(size) + "OFFSET" + query::_ref(start));

但执行出现异常,查看ODB生成的sql语句:

"SELECT \"Patient\".\"phone\", \"Patient\".\"patient_name\", \"Patient\".\"sex\", \"Patient\".\"age\", \"Patient\".\"birthday\", \"Patient\".\"address\" FROM \"Patient\" WHERE LIMIT ? OFFSET...

发现语法错误

解决方案:

在查询条件中添加判断语句:query q(query::patient_name.is_not_null() + "LIMIT" + query::_ref(size) + "OFFSET" + query::_ref(start));

编译执行,运行有效

发布了73 篇原创文章 · 获赞 12 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/MissLong/article/details/84587202