我正在使用sqlworkbench上的mysql数据库在netbeans上创建一个java应用程序,我在数据库中创建了一个登录jframe和一个登录表。检查数据库中的用户名和密码是否退出,如果为true则继续,并显示员工jframe。如果他/她输入用户名和密码,我如何让它为管理员显示不同的jframe。就像我应该在登录信息表中添加一个列,该列确定该员工或经理的帐户。但是当点击登录jframe上的按钮时它会怎么知道?就像我应该除了这样的查询,但它如何进行比较然后显示例如,如果员工的jframe被命名为jframe1而jframe for manager是jframe2
String sql;
String S=jTextField1.getText();
String S1=jPasswordField1.getText();
String S3=jComboBox1.getSelectedItem().toString();
sql="SELECT * from user_pass where username='"+S+"' and password='"+S1+"' and type='"+S3+"'";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()){
答案 0 :(得分:4)
您可以尝试类似下面的解决方案。代码不完整,但会帮助您解决问题。
public class MySqlApp extends JFrame
{
CardLayout cardLayout = new CardLayout();
JPanel main = new JPanel();
JPanel employee = new JPanel();
JPanel manager = new JPanel();
public MySqlApp()
{
setLayout(new BorderLayout());
main.setLayout(cardLayout);
main.add(employee, "employee");
main.add(manager, "manager");
add(main, BorderLayout.CENTER);
String sql="SELECT * from user_pass where username='"+S+"' and password='"+S1+"' and type='"+S3+"'";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next())
{
if("manager".equalsIgnoreCase(rs.getString("AccountType")))
{
cardLayout.show(main, "manager");
}
else
{
cardLayout.show(main, "employee");
}
}
}
}