啊齐爱学习 2021-06-03 21:14 采纳率: 50%
浏览 40
已采纳

JDBC只能获取一部分结果

package com.chapter08;

import java.sql.*;
import java.util.Scanner;

public class log {

public static void main(String[] args) {


        Scanner sc=new Scanner(System.in);
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        Connection conn =null;
        PreparedStatement pre =null;
        try {
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/shiyan?serveTimezone=GMT","root","123456");
            //验证登录
            String s="select * from bank where id=? and pwd=?";
            pre = conn.prepareStatement(s);
            System.out.println("请输入账号:");
            int i1 = sc.nextInt();
            System.out.println("请输入密码:");
            //int s2 = sc.nextInt();
            int s1 = sc.nextInt();

            pre.setInt(1,i1);
            pre.setInt(2,s1);
            ResultSet rs = pre.executeQuery();
            int id =0;
            int pwd =0;
            String name=" ";
            while(rs.next()) {
                id = rs.getInt("id");
                pwd = rs.getInt("pwd");
            }
            System.out.println(id==i1&&pwd==s1?"登录成功":"登录失败");
            // 获取数据
            System.out.println("编号\t卡号\t密码\t电话号码\t姓名");
            while(rs.next()){
                System.out.println(rs.getInt("id")+" "+rs.getInt("card")+" "+rs.getInt("pwd")+" "
                +rs.getInt("pho")+rs.getString("name"));
            }

        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            try {
                pre.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
            try {
                conn.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }


}

 

  • 写回答

2条回答 默认 最新

  • Daylight629 2021-06-04 08:21
    关注

    因为你在第一个while循环的时候,已经把游标移动第一条数据了,你只有一条数据,第二次while循环后,就没有数据可取了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求指导ADS低噪放设计
  • ¥15 CARSIM前车变道设置
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存