使用JDBC多个搜索条件

我必须写代码为一组特定的基于多个用户输入值的搜索数据库。 在最大的用户可以输入部分5的搜索条件,并且可以是不连1或2或3。

我应该如何着手对此有何看法? 事先准备好的声明能帮助我吗?

我使用的MS Access作为数据库。

--------------解决方案-------------

一个简单的解决方法是你建立你在分条款和维护由userinput的paraList。

例如,你有5个标准A,B,C,D,E。

在你的程序中,检查是否有一个中输入如果是,将其添加到(也能像或=),然后输入值添加到列表(paraList)。

在最后,串接在建在哪里节与你的PreparedStatement中,并设置与paraList参数。

你可以这样写使用NamedParameterStatement

SELECT field1, field2
FROM MY_TABLE
WHERE (:P_FIELD1 IS NULL OR FIELD1 = :P_FIELD1)
AND (:P_FIELD2 IS NULL OR FIELD2 LIKE :P_FIELD2)

我建议你​​使用一个必填字段,以限制扫描(类似于数据范围)

SELECT field1, field2
FROM MY_TABLE
WHERE DATE_FIELD BETWEEN :P_DATE1 AND :P_DATE2)
AND (:P_FIELD1 IS NULL OR FIELD1 = :P_FIELD1)
AND (:P_FIELD2 IS NULL OR FIELD2 LIKE :P_FIELD2)

希望它可以帮助

分类:java的 时间:2015-03-15 人气:0
本文关键词: Java中,JDBC
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.687 (s). 10 q(s)