我目前正在从事一个小型项目,该项目涉及使用JDBC连接到一个小型MySQL数据库。它是一个小应用程序,具有多个JTextFields和一些JComboBoxes,可用于向数据库中添加新用户、更新用户、删除用户和搜索用户。
当用户按下“查找”按钮时,应该能够运行搜索,并查看用户填写的字段中的哪些字段,然后根据这些字段构建查询。例如,用户正在根据名字和姓氏搜索某人:
String query = SELECT * FROM members WHERE firstName = ... and Surname = ...当程序检测到用户已在这些字段中填写了要搜索的数据时,就会追加firstName和姓氏字段。
我的问题是,我试图找到一种有效的方式,能够搜索出多个标准,而不以反模式箭头结束。例如。我不想让我的代码看起来像:
if( firstName.getText().length() > 0 )
{
do_something();
if( lastName.getText().length() > 0 )
{
do_something();
if( email.getText().length() > 0 )
{
do_something();
}
}
}etc...but到目前为止,这是我唯一能想到的方法,这将是可怕的,因为可能的组合搜索标准。我正在考虑做一个开关,这个开关可能(?)帮忙,但我不知道该以什么为基础关掉开关。
任何帮助都将不胜感激!
发布于 2014-08-02 07:01:43
如果您使用java.awt.panel,您可以尝试如下
for(Component component : myPanel.getComponents()) {
if(component instanceof JTextField) {
JTextField textField = (JTextField) component;
buildYourSearchQuery(textField.getText());
}
}https://stackoverflow.com/questions/25092189
复制相似问题