Re: How to make getText() return the result in case sensitive ?
@Roland
I already changed into :
String dbUsername = result.getString("userid") ;
String dbPassword = result.getString("passwd") ;
@Martin
I already changed into :
"SELECT userid,passwd FROM user WHERE userid = BINARY ? AND passwd
= ?"
@Lew
I already changed into :
doLogin()
And when I didn't call Class.forName("com.mysql.jdbc.Driver"), the
NetBeans show error message "No suitable driver found" even I included
MySQL driver libraries in my project.
@All
When I ran the program, the if (result.first()) statement always
returns 0, so that means no record match found, even I give "test" and
"myecg" into the form and there is "test" and "myecg" in the
database.
Compared to "SELECT * FROM user WHERE userid = '"+ UserIDTxt.getText()
+"' AND passwd = '"+ PasswdTxt.getText() +"'" this statement will
returns 1 in the if statement.
I already changed the passwdTxt swing component from textField into
passwordField in order to show "******" character when input is given,
so I used passwdTxt.getSelectedText() to get the value since
passwdTxt.getText() is forbidden for passwordField component.
Here my code :
@Action public void doLogin() {
String url = "jdbc:mysql://localhost:3306/dicom?
jdbcCompliantTruncation=false";
Connection con;
PreparedStatement passwordLookup ;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch(java.lang.ClassNotFoundException e) {
System.err.println(e);
}
try {
con = DriverManager.getConnection(url, "root", "");
String sql = "SELECT userid,passwd FROM user WHERE userid
= BINARY ? AND passwd = ?";
passwordLookup = con.prepareStatement(sql);
passwordLookup.setString(1, userIDTxt.getText());
passwordLookup.setString(2, passwdTxt.getSelectedText());
ResultSet result = passwordLookup.executeQuery();
if (result.first()) {
String dbUsername = result.getString("userid") ;
String dbPassword = result.getString("passwd") ;
if ((dbUsername.equals(userIDTxt.getText())) &&
(dbPassword.equals(passwdTxt.getSelectedText()))){
setVisible(false);
if (ecgMenuBox == null) {
JFrame mainFrame =
Main.getApplication().getMainFrame();
ecgMenuBox = new ECGMenu(mainFrame);
ecgMenuBox.setLocationRelativeTo(mainFrame);
}
Main.getApplication().show(ecgMenuBox);
}
else {
setVisible(false);
if (loginWarningBox == null) {
JFrame mainFrame =
Main.getApplication().getMainFrame();
mainFrame.setSize(100,80);
loginWarningBox = new
LoginWarning(mainFrame);
loginWarningBox.setLocationRelativeTo(mainFrame);
}
Main.getApplication().show(loginWarningBox);
}
}
else {
setVisible(false);
//TRAP CODE HERE
JFrame mainFrame;
mainFrame = new JFrame("No Record Found");
mainFrame.setSize(300,150);
mainFrame.show();
}
result.close();
con.close();
} catch(SQLException e) {
System.err.println(e);
}
}