从 java 内的 SQL 数据库调用枚举值
Calling an Enum value from an SQL database inside java
我正在使用 Java 登录 frame/class,当有人输入用户名和密码时,我需要从我的 SQL 数据库中获取枚举值 A、B 或 C .
我试图创建一个新的 class 来调用数据库,但没有成功。我也尝试在此 class 中进行调用,但我也无法使其正常工作。两天来我一直在努力查找它,但没有雪茄。正如你所知道的,我是一个新手。
我知道我必须在 if 语句中使用类似 else if (rs.next() && account_permission.tolowercase().equals("b"))
的东西。
我明白这段代码只打开管理框架,不管他们 account_permissions/enum。
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
String sql = "select * from members where UserName = ? and Password = ?";
try {
pst = conn.prepareStatement(sql);
pst.setString(1, txtusername.getText());
pst.setString(2, txtpassword.getText());
rs = pst.executeQuery();
if (rs.next()) {
JOptionPane.showMessageDialog(null, "Username and password are correct");
AdminJFrame s = new AdminJFrame();
this.dispose();
s.setVisible(true);
}
else
JOptionPane.showMessageDialog(null, "Username and password did not match");
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
首先是您的 SQL。具体说明您选择的字段:
String sql = "select Role from members where UserName = ? and Password = ?";
我假设包含 A、B 或 C 的字段称为 Role
。
现在修改您的代码以检测正确的角色:
if (rs.next()) {
if ("B".equals(rs.getString("Role"))) {
JOptionPane.showMessageDialog(null, "Username and password are correct");
AdminJFrame s = new AdminJFrame();
this.dispose();
s.setVisible(true);
} else
JOptionPane.showMessageDialog(null, "You don't have the required role");
} else
JOptionPane.showMessageDialog(null, "Username and password did not match");
我正在使用 Java 登录 frame/class,当有人输入用户名和密码时,我需要从我的 SQL 数据库中获取枚举值 A、B 或 C .
我试图创建一个新的 class 来调用数据库,但没有成功。我也尝试在此 class 中进行调用,但我也无法使其正常工作。两天来我一直在努力查找它,但没有雪茄。正如你所知道的,我是一个新手。
我知道我必须在 if 语句中使用类似 else if (rs.next() && account_permission.tolowercase().equals("b"))
的东西。
我明白这段代码只打开管理框架,不管他们 account_permissions/enum。
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
String sql = "select * from members where UserName = ? and Password = ?";
try {
pst = conn.prepareStatement(sql);
pst.setString(1, txtusername.getText());
pst.setString(2, txtpassword.getText());
rs = pst.executeQuery();
if (rs.next()) {
JOptionPane.showMessageDialog(null, "Username and password are correct");
AdminJFrame s = new AdminJFrame();
this.dispose();
s.setVisible(true);
}
else
JOptionPane.showMessageDialog(null, "Username and password did not match");
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
首先是您的 SQL。具体说明您选择的字段:
String sql = "select Role from members where UserName = ? and Password = ?";
我假设包含 A、B 或 C 的字段称为 Role
。
现在修改您的代码以检测正确的角色:
if (rs.next()) {
if ("B".equals(rs.getString("Role"))) {
JOptionPane.showMessageDialog(null, "Username and password are correct");
AdminJFrame s = new AdminJFrame();
this.dispose();
s.setVisible(true);
} else
JOptionPane.showMessageDialog(null, "You don't have the required role");
} else
JOptionPane.showMessageDialog(null, "Username and password did not match");