java - JDBC 检查条目是否存在

标签 java mysql sql jdbc

我正在尝试检查表中是否存在条目。我使用了以下资源并在 mysql 工作台中运行代码来查看是否运行错误,但事实并非如此。

检查ResultSet是否已满 -> Is ResultSet Filled

SQL 语法 -> SQL

这是我正在运行的当前代码

    public static Boolean exists(Table t, int userId){
    boolean e = false;
    if (connection != null){
        try {
            String SQL = "SELECT EXISTS(SELECT 1 FROM " + t.table + " WHERE id = " + String.valueOf(userId) + ")";
            System.out.println(SQL);
            stmt = connection.createStatement();
            ResultSet rs = stmt.executeQuery(SQL);
            if (isFilled(rs))
                e = true;
        } catch (SQLException l) {
            l.printStackTrace();
        }
    }
    return e;
}
public static boolean isFilled(ResultSet rs){
    boolean isEmpty = true;
    try {
        while(rs.next()){
            isEmpty = false;
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return !isEmpty;
}

无论我输入什么用户ID,问题都存在总是返回true

最佳答案

因此,根据您的问题,您想要检查相应 ID 的行是否可用。

因此,您可以轻松地做到这一点。

String sql_res= "select * from students where sid=2";
rs=st.executeQuery(sql_res);

然后检查该行是否存在

//it will print true if a row exists for the given id and false if not. 
    System.out.println(rs.next()); 

关于java - JDBC 检查条目是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46061989/

相关文章:

java - 使用枚举值的成员类型声明泛型类时遇到问题

java - 如何使用 JSP EL 动态访问请求参数?

java - 应用程序打开时黑屏

mysql - 如何修改mysql存储过程中select的输出列名

c# - AffectedRecords 属性为 -1 但表中没有变化?

mysql - 如何从连接 4 个表的表中删除

java - 如何以正确的顺序使用 iText 从 PDF 中提取图像?

java - 如何在mysql中一次性执行7条select准备语句?

sql - 为每一表行创建一个 json

php - Mysql COUNT,未按预期计数