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

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日

悬赏问题

  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀
  • ¥15 mifare plus卡认证
  • ¥30 LSTM预测结果是一条直线
  • ¥15 stnodeeditor自定义控件
  • ¥15 SDO如何更改STM32的波特率