[英]How to verify username and password in Java-mysql?
How do I verify in the most right way the username and password that were inputted by the user to the database? 如何以最正确的方式验证用户输入数据库的用户名和密码?
In c++, we used to verify by using if-else:
if((user == "username")&&(pass == "password")){
cout<<"You are now logon!";
}
In java-mysql I'm not sure if I'm on the right track: 在java-mysql中我不确定我是否在正确的轨道上:
Login Button 登录按钮
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
user = jTextField1.getText();
pass = jPasswordField1.getPassword();
login();
}
Method/function 方法/函数
private void login() {
try {
if (user != null) {
sql = "Select * from users_table Where username='" + user + "'";
rs = stmt.executeQuery(sql);
rs.next();
username = rs.getString("username");
password = rs.getString("password");
}
}
catch (SQLException err) {
JOptionPane.showMessageDialog(this, err.getMessage());
}
}
If the username and password that inputted by the user matched with the ones in the database then he will be directed to a new jFrame else message dialog will popup saying invalid username or password. 如果用户输入的用户名和密码与数据库中的用户名和密码匹配,那么他将被定向到新的jFrame else消息对话框将弹出说无效的用户名或密码。 Can someone help me with my codes, I don't know how to use the if-else statement with mysql;
有人可以帮助我使用我的代码,我不知道如何使用mysql的if-else语句;
Thanks! 谢谢! :)
:)
Implement the below code: 实现以下代码:
private void login() {
try {
if (user != null && pass != null) {
String sql = "Select * from users_table Where username='" + user + "' and password='" + pass + "'";
rs = stmt.executeQuery(sql);
if (rs.next()) {
//in this case enter when at least one result comes it means user is valid
} else {
//in this case enter when result size is zero it means user is invalid
}
}
// You can also validate user by result size if its comes zero user is invalid else user is valid
} catch (SQLException err) {
JOptionPane.showMessageDialog(this, err.getMessage());
}
}
you don't have to do anything with mySQL anymore. 你不必再对mySQL做任何事了。 You already have the credentials.
您已拥有凭据。 One Example:
一个例子:
if ((user.equals(username)) && (pass.equals(password))) {
JFrame newFrame = new JFrame();
} else {
JOptionPane.showMessageDialog(null, "alert", "alert", JOptionPane.ERROR_MESSAGE);
}
Use prepared statements along with a library like DButils which would simplify your work a lot. 使用预准备语句以及像DButils这样的库可以大大简化您的工作。
In addition, don't use substitution pass parameters such as select name from members where code =?
另外,不要使用替换传递参数,例如
select name from members where code =?
. 。 If you have many parameters, create a array of objects and pass them in a object array such as
Objects[] parms = {code1,code2}
. 如果您有许多参数,请创建一个对象数组并将它们传递给对象数组,例如
Objects[] parms = {code1,code2}
。
if (username.length()>0 && password.length()>0)
{
String query = "Select * from adminlogin Where Username='" + username + "' and Password='" + password + "'";
rs = sta.executeQuery(query);
if (rs.next())
{
home hme=new home();
this.setVisible(false);
hme.setVisible(true);
}
else
{
JOptionPane.showMessageDialog(null,"username and password are wrong ");
}
}
else
{
JOptionPane.showMessageDialog(null,"please field username and password ");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.