获取计数列值 (MySQL/Java)

Get column value on count (MySQL/Java)

我正在尝试获取在 table 中找到用户名的次数,问题是我每次都只得到一个值“1”,即使用户名未找到(值应为 0)我认为问题是我正在使用 rsMetaData.getColumnCount();,这只是计算找到的列数而不是列中显示的次数?

这里是查询,以防万一其中有问题:

ResultSet rs = st.executeQuery("SELECT COUNT(*) FROM user_names WHERE name like '%"+givenName+"%'");

rsMetaData.getColumnCount();

如方法所述,这将 return 您查询中的列数为 1(计数一列)。

要获得所需的数据,只需在获取结果的计数上指定一个名称即可。

为此添加所需的名称

ResultSet rs = st.executeQuery("SELECT COUNT(*) as totalCount FROM user_names WHERE name like '%"+givenName+"%'");

然后使用

获取结果

rs.getInt("totalCount");

你是对的,rsMetaData.getColumnCount(); 只会让你得到查询返回的列数,当然总是 1。你应该做的是 rs.getInt(0) 来获取内容第一列(索引为 0 的列)作为整数