【问题标题】:Get column value on count (MySQL/Java)获取计数列值(MySQL/Java)
【发布时间】:2015-06-18 06:40:03
【问题描述】:

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

这是一个查询,以防万一出现问题:

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

【问题讨论】:

标签: java mysql count


【解决方案1】:

rsMetaData.getColumnCount();

正如方法所说,这将返回查询中为 1 的列数(计数一列)。

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

为此添加所需的名称

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

然后使用获取结果

rs.getInt("totalCount");

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-23
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      • 2014-02-15
      • 2021-11-07
      • 1970-01-01
      相关资源
      最近更新 更多