aquzi.留笙 2023-01-08 16:52 采纳率: 20%
浏览 30
已结题

JAVA使用jdbc连接数据库只能获取第一条数据

JDBC连接sql数据库做登录界面只能读取第一条数据

使用jdbc连接数据库,在做登录界面的时候,使用ResultSet方法只能读取表中第一条数据,输入之后的数据都不能读取到

我的代码如下:

 if (jr1.isSelected()) //非管理员登陆
                    {
                        String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
                        String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=hangkongsystem";
                        String userName = "sa";
                        String userPwd = "sa";
                        String passWord;
                        userId = null;

                        try {
                            Class.forName(driverName);
                        } catch (Exception e1) {
                            e1.printStackTrace();
                        }
                        try {

                                Connection con = DriverManager.getConnection(dbURL, userName, userPwd);//
                                Statement s = (Statement) con.createStatement();
                                String r1 = "select * from 账户密码";
                                ResultSet rs = ((java.sql.Statement) s).executeQuery(r1);

                                rs.next();
                                    userId = rs.getString("顾客ID").trim();
                                    passWord = rs.getString("passwd").trim();

                                    s.close();
                                    con.close();


                                if (userId.equals(jtf1.getText()) && passWord.equals(jtf2.getText())) {
                                    new kehu(userId);
                                    jfrm.setVisible(false);
                                } else {
                                    JOptionPane.showMessageDialog(null, "用户id或密码不正确!");
                                }
                            }
                        catch(Exception e1)
                            {
                                e1.printStackTrace();
                            }

                    }
                }

按照网上的写法,使用了while( rs.next())还是无法读取到相关的数据,请问应该如何解决

  • 写回答

1条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2023-01-09 09:57
    关注

    你要循环获取数据啊,不循环的话就只执行一次,那当然是获取一条数据了 。这些内容前边加个 while(rs.next()){你的内容}

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 已采纳回答 1月9日
  • 创建了问题 1月8日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作