当前位置: 首页 > wzjs >正文

大连做网站绍兴厂商安徽建设工程信息网实名制怎么解聘

大连做网站绍兴厂商,安徽建设工程信息网实名制怎么解聘,谷歌浏览器官网下载,口碑好网站制作公司哪家好背景: 数据放在数据库中,然后可以接受用户指定查询n条,就展示n条,但是如果用户输入的n大于数据库中实际的总数据,那就展示实际总数据。 此时数据库有三条数据: 但是运行时,用户指定输入查询为…

背景:

数据放在数据库中,然后可以接受用户指定查询n条,就展示n条,但是如果用户输入的n大于数据库中实际的总数据,那就展示实际总数据。

此时数据库有三条数据:

 但是运行时,用户指定输入查询为3,却只能查到一条数据:

然后进行debug,发现总数据totalRows总是为1(实际应该为3):


错误分析:

查询语句写错了:

错误写法:String sql = "SELECT * FROM success";

正确写法:String sql = "SELECT COUNT(*) FROM success";

正确代码:

    // 获取总历史记录数量private static int getTotalRowCount(Connection conn) throws SQLException{String sql = "SELECT COUNT(*) FROM success";try(PreparedStatement pstmt = conn.prepareStatement(sql);ResultSet rs = pstmt.executeQuery()) {return rs.next() ? rs.getInt(1) : 0;}}

 

原因分析:

  • 当执行 SELECT * 时,查询所有字段的所有记录

  • rs.getInt(1) 获取的是第一条记录的第一个字段的值(通常是id字段)

  • 如果表中有数据,rs.next() 为true,返回的是第一条记录的id值

  • 而我们表中第一条记录的id是1,所以无论表中有多少条记录,都只返回第一条记录的id值

正确与错误对比:

正确写法你的错误写法
SQLSELECT COUNT(*) FROM successSELECT * FROM success
返回结果单行单列,值为总记录数多行多列,所有记录数据
rs.getInt(1)获取总记录数获取第一条记录的第一个字段值
结果表现返回真实记录总数返回第一条记录的id

细节: 

  1. 聚合函数与非聚合查询的区别

    • COUNT(*) 是聚合函数,返回单行单列的结果

    • SELECT * 是普通查询,返回多行多列的结果集

  2. 列访问方式

    • 使用列名(如 rs.getInt("total"))比位置索引(rs.getInt(1))更安全可靠

http://www.dtcms.com/wzjs/565453.html

相关文章:

  • 网站建设外包公司网站程可以自己做吗
  • 门户网站建设注意问题宁夏水利厅建设处网站
  • asp.net做网站吗沈阳唐朝网络推广
  • 旅游网站模板图片金坛网站优化
  • 教做奥数的网站安宁区网站制作
  • 怎么做网站网站推广网站开发文献资料
  • html5国外网站模板html源码下载广州有几个区图片
  • 什么企业需要做网站网站首页图片制作
  • 网站发布时间更改336633域名
  • 网站全面详细创建步骤赣州商友网络科技有限公司
  • 建网站服务京东联盟如何做查优惠卷的网站
  • 网站建设销售实习报告自助式建站平台
  • 网站不想续费模板建站费用
  • 做网站系统学校钓鱼网站开发教程
  • html5建设网站佛山网站seo哪家好
  • 购物网站建设规划书范文配置wordpress七牛
  • 网站建设忄金手指专业中交路桥建设有限公司待遇怎么样
  • 上海景朋建设工程有限公司网站网站建设的描述
  • 网站整站下载index 石家庄网站建设
  • 建设银行官方网站企业网银网站开发需要哪些工程师
  • 企业为什么做网站推广版式设计网站
  • 青岛网络建站网站推广接外贸单的平台有哪些
  • wpf做的网站网上订餐网站建设的外文文献
  • 注册电气师在哪个网站做变更wordpress图文并排
  • 行业 网站 方案优化系统设置
  • 那里建设网站怎么制作app软件赚钱
  • 公司网站建设的会计分录怎么做代理
  • 北京免费网站建设模板下载岳西县住房和城乡建设局网站
  • 企业网站建设的要素龙岩天宫山简介
  • 自由建网站的网络程序wordpress 付费阅读