-
Notifications
You must be signed in to change notification settings - Fork 0
/
LogIn.java
149 lines (121 loc) · 3.26 KB
/
LogIn.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
import java.lang.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
public class LogIn extends JFrame implements ActionListener
{
JLabel title, userLabel, passLabel;
JTextField userTF;
JPasswordField passPF;
JButton loginBtn, exitBtn;
JPanel panel;
public LogIn()
{
super("Sample Management System - Login Window");
this.setSize(800, 450);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
panel.setLayout(null);
title = new JLabel("Meal management System");
title.setBounds(300, 50, 350, 30);
panel.add(title);
userLabel = new JLabel("User ID: ");
userLabel.setBounds(300, 100, 110, 30);
panel.add(userLabel);
userTF = new JTextField();
userTF.setBounds(380, 100, 100, 30);
panel.add(userTF);
passLabel = new JLabel("Password: ");
passLabel.setBounds(300, 150, 110, 30);
panel.add(passLabel);
passPF = new JPasswordField();
passPF.setBounds(380, 150, 100, 30);
panel.add(passPF);
loginBtn = new JButton("Login");
loginBtn.setBounds(300, 200, 85, 30);
loginBtn.addActionListener(this);
panel.add(loginBtn);
exitBtn = new JButton("Exit");
exitBtn.setBounds(395, 200, 85, 30);
exitBtn.addActionListener(this);
panel.add(exitBtn);
this.add(panel);
}
public void actionPerformed(ActionEvent ae)
{
String text = ae.getActionCommand();
if(text.equals(loginBtn.getText()))
{
checkLogin();
}
else if(text.equals(exitBtn.getText()))
{
System.exit(0);
}
else{}
}
public void checkLogin()
{
String query = "SELECT `userId`, `password`, `status` FROM `login`;";
Connection con=null;//for connection
Statement st = null;//for query execution
ResultSet rs = null;//to get row by row result from DB
System.out.println(query);
try
{
Class.forName("com.mysql.jdbc.Driver");//load driver
System.out.println("driver loaded");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sayed","root","");
System.out.println("connection done");//connection with database established
st = con.createStatement();//create statement
System.out.println("statement created");
rs = st.executeQuery(query);//getting result
System.out.println("results received");
boolean flag = false;
while(rs.next())
{
String userId = rs.getString("userId");
String password = rs.getString("password");
int status = rs.getInt("status");
if(userId.equals(userTF.getText()) && password.equals(passPF.getText()))
{
flag=true;
if(status==0)
{
MemberHome mh = new MemberHome(userId);
mh.setVisible(true);
this.setVisible(false);
}
else if(status==1)
{
ManagerHome ch = new ManagerHome();
ch.setVisible(true);
this.setVisible(false);
}
else{}
}
}
if(!flag)
{
JOptionPane.showMessageDialog(this,"Invalid ID or Password");
}
}
catch(Exception ex)
{
System.out.println("Exception : " +ex.getMessage());
}
finally
{
try
{
if(rs!=null)
rs.close();
if(st!=null)
st.close();
if(con!=null)
con.close();
}
catch(Exception ex){}
}
}
}