我是java的初学者。出于学术目的,我必须开发一个系统。在登录表单的系统中,我必须涵盖三个字段:用户名,密码和使用jcombobox选择用户级别。就我对我的项目所做的工作而言,我可以使用数据库的任何用户名,密码登录,并将我的jcombobox与数据库链接。但是我想通过提供存储在数据库中的特定用户名和密码并从jcombobox中选择特定的登录级别(例如以管理员/经理/工程师身份登录(来登录。只有该特定人员可以使用用户名,密码和级别登录。另一个级别的其他人必须提供他们所需的用户名,密码,级别。这是我的代码,
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import java.sql.*;
import javax.swing.*;
public class LogInJFrame extends javax.swing.JFrame {
Connection conn=null;
ResultSet rs = null;
PreparedStatement pst=null;
public LogInJFrame() {
initComponents();
conn=JavaConnector.ConnectorDb();
Fill_Combo();
}
private void Fill_Combo()
{
try
{
String sql="Select * from Level";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
while(rs.next()){
String type=rs.getString("Type");
cmb_loginAs.addItem(type);
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
finally
{
try
{
rs.close();
pst.close();
}
catch(Exception e)
{
}
}
}
private void btn_loginActionPerformed(java.awt.event.ActionEvent evt) {
String sql="select * from Level where UserName =? and Password =? ";
try{
pst =conn.prepareStatement(sql);
pst.setString(1, txt_username.getText());
pst.setString(2, txt_password.getText());
rs=pst.executeQuery();
if(rs.next())
{
JOptionPane.showMessageDialog(null, "The Username and Password is correct");
rs.close();
pst.close();
AdministratorLogin ad=new AdministratorLogin();
ad.setVisible(true);
}
else
{
JOptionPane.showMessageDialog(null, "The Username and Password is not correct");
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
finally
{
try
{
rs.close();
pst.close();
}
catch(Exception e)
{
}
}
}
private void txt_passwordKeyPressed(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==KeyEvent.VK_ENTER)
{
String sql="select * from Level where UserName =? and Password =? ";
try{
pst =conn.prepareStatement(sql);
pst.setString(1, txt_username.getText());
pst.setString(2, txt_password.getText());
rs=pst.executeQuery();
if(rs.next())
{
JOptionPane.showMessageDialog(null, "The Username and Password is correct");
rs.close();
pst.close();
AdministratorLogin ad=new AdministratorLogin();
ad.setVisible(true);
}
else
{
JOptionPane.showMessageDialog(null, "The Username and Password is not correct");
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
finally
{
try
{
rs.close();
pst.close();
}
catch(Exception e)
{
}
}
}
}
}
我已经尝试了很多,但无法确切地弄清楚我需要做什么才能获得我想要的结果。有人会帮我吗?谢谢。
您始终可以将用户名和密码链接到数据库内的帐户类型。然后将其从数据库存储中取出,将其存储在字符串中。然后做类似的事情
if(accountType.equals("engineer")) {
// load specific page
}