【问题标题】:comparing values that you get from database in java and sql比较从 java 和 sql 中的数据库获得的值
【发布时间】:2014-10-19 10:20:45
【问题描述】:

我试图比较从我的数据库中获得的两个值,如果两个值都为 null 或者它在我的数据库中不存在,则返回 true。而且我已经尝试在netbeans中调试它会从 rs.getString("post_id").equals("");返回喜欢的;它不会读取下一个 rs.getString 和 if 语句。顺便说一下,这是我的代码

public boolean likedPost()
{
    String thePostID = POSTID();
    String likerName = objInfo.name;
    boolean liked = true;

    try
    {
        String sql = "select * from Like where post_id=? and people_who_like=?";
        pst = conn.prepareStatement(sql);
        pst.setString(1,thePostID);
        pst.setString(2,likerName);
        rs = pst.executeQuery();
        boolean comparePostID = rs.getString("post_id").equals("");
        boolean compareLiker = rs.getString("people_who_like").equals("");

        if(liked == (comparePostID && compareLiker))
            liked = true;
        else
            liked = false;
    }

    catch(Exception e)
    {
        JOptionPane.showMessageDialog(null,e);
    }

    return liked;
}

【问题讨论】:

    标签: java sql


    【解决方案1】:

    使用 StringUtils(org.apache.commons.lang.StringUtils) 比较字符串。 isEmpty() StringUtils 类的方法在内部检查给定的字符串是否为空或是否为空。

    String postId = rs.getString("post_id")
    String liker =  rs.getString("people_who_like");
    
    if(StringUtils.isEmpty(postId) && StringUtils.isEmpty(postId)) {
        liked = true;
    } else {
        liked = false;
    }
    

    编辑:你可以让事情变得简单,如下所示

    if (postId!= null && liker!= null && !postId.equals("") && !liker.equals("")) {
    
                liked = true;
    
            } else {
    
                liked = false;
            }
    

    【讨论】:

    • 你好谢谢你的回复,顺便说一下 isEmpty 显示一个错误,说找不到符号。
    • 你应该在你的类路径中包含 apache commons lang jar。从commons.apache.org/proper/commons-lang下载jar
    • 对不起,先生,我尝试下载它并将 jar zip 文件添加到我的库中,但仍然出现同样的错误。你能告诉我对不起我是java新手吗
    • @CyranLemoncito - 没问题,你可以让事情变得简单我已经编辑了我的解决方案
    • @CyranLemoncito - 很棒.. 享受编码
    【解决方案2】:
    String comparePostID = rs.getString("post_id");
    String compareLiker = rs.getString("people_who_like");
    
    if(comparePostID && comparePostID && !comparePostID.equals("") && !compareLiker.equals(""))
        liked = true;
    else
        liked = false;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多