我需要创建一个GUI,用户可以使用它选择几个属性,这些属性将用于查询数据库以找到合适的人。我正在寻找有关如何根据用户的选择动态生成数据库查询的想法。
查询将包含几个字段,但为便于理解,我仅在下面举例说明三个字段:
职业 -可以有0到n个职业字符串。如果给出了占用字符串,则其中之一必须匹配。
年龄 -年龄可以表示为:
年龄参数在查询中是可选的。另外,用户可以指定年龄是否为必需参数。如果不需要,并且没有年龄的人是他/她的个人资料,则此人的年龄标准将被忽略。
查询示例:
没有给出标准:
select * from persons
仅职业:
select * from persons where occupation = 'dentist'
有几种职业:
select * from persons where (occupation = 'dentist' or occupation = 'engineer')
年龄大于数值,并且必须存在于个人资料中:
select * from persons where age >= 30
高度已作为范围给出,并且不需要在个人资料中存在:
select * from persons where (height is null or (height >= 30 and height <= 40))
不同标准的组合:
select * from persons where occupation = 'dentist' and age >= 30 and (height is null or (height >= 30 and height <= 40))
我已经实现了能够将查询生成为字符串的代码,但是它当然不是很漂亮。我正在寻找实现这一目标的最有效,最漂亮的方法。
在Hibernate中,您可以使用Criteria查询。
在Toplink中,我们获得了Expression和ExpressionBuilder。
我想让程序根据我的扫描仪输入从ArrayList中进行选择。比如,我写早餐和甜食,它必须随机列出早餐甜食,并打印随机索引。 我还在学习Java,我只是在玩,并试图编码小项目来训练它。 下面是我已经写过的课程: 我是否可以将列表存储在变量中,可能是这样的: 我知道很难理解我,但英语不是我的主要语言,希望它能被理解。
问题内容: 我有一个数据库字段名称调用,我正在尝试使用如下所示的变量名称来选择它: 显然,SQL将解释为字符串,而不是数据库的字段,我如何以这种方式将其识别为字段名而不是字符串,可能没有任何select或if语句。 问题答案: 试试这个: 您必须组成一个动态查询,并使用 要在事物的“动态”方面添加更多内容,请使用存储过程。请参见此处的示例: http://www.marten-online.com
问题内容: 我有以下问题。我的表格()结构如下: 存储不同表的名称,并在这些表中存储ID。我想做的是检查上述表中的行是否存储了对其他表的有效引用。因此,我需要从外部表中选择一行,其名称基于存储在中的字符串。我的代码不起作用,因为它存在语法错误,但清楚地显示了我想要实现的目标: 问题答案: 如果知道所有可能的表名,则可以使用条件语法来实现它:
我想在 SQL Server 2008 中完成以下操作 我有一个如下文章表 还有这样的订单预测表。 有没有办法创建一个查询,按照< code>order列的顺序为预测表中的每条记录生成一列。如果可能的话,我怎么能这样做呢?
我一直在尝试实践它的问题,并扩展它们一点 - 我卡住了。代码将根据需要给出尽可能多的星形结果,但我不知道如何让用户决定n的值。 我尝试添加到这两个方法(main/starString)代码行:扫描仪输入=new.Scanner(System.in); int n=input.next ();" [也input.nextInt] 但是代码会注意到允许从控制台进行任何输入。更不用说,我不知道应该在哪里