我目前正在开发一个涉及使用JDBC挂钩到一个小型MySQL数据库的小项目。它是一个小应用程序,具有多个JTextField和一些JComboBox,可用于向数据库添加新用户,更新用户,删除用户和搜索用户。
当用户按下查找按钮时,应该能够运行搜索,并查看用户填写的字段,然后从这些字段构建查询。一个例子是用户正在根据名字和姓氏搜索某人:
String query = SELECT * FROM members WHERE firstName = ... and Surname = ...
当程序检测到用户填写了要搜索的数据的字段时,会附加firstName和Surname字段。
我的问题是,我正在尝试找到一种有效的方法来搜索多个条件,而不会出现反模式箭头。防爆。我不希望我的代码看起来像:
if( firstName.getText().length() > 0 )
{
do_something();
if( lastName.getText().length() > 0 )
{
do_something();
if( email.getText().length() > 0 )
{
do_something();
}
}
}
等......但到目前为止,这是我能想到的唯一方法,由于搜索标准的可能组合,这将是可怕的。我在考虑做一个可能(?)帮助的开关,但我不知道该关闭什么。
非常感谢任何帮助!
答案 0 :(得分:0)
如果您使用java.awt.panel
,则可以尝试类似
for(Component component : myPanel.getComponents()) {
if(component instanceof JTextField) {
JTextField textField = (JTextField) component;
buildYourSearchQuery(textField.getText());
}
}