I created a java login frame using netbeans and I connected it to MySQL using MySQL Connector/J which the jar file was added to the projects library. I also created a table called login which includes all the login details. The following codes are supposed to permit login but I keep getting errors as if the connection to the database was not established.
package Lightapp;
import java.sql.* ;
import javax.swing.* ;
public class AbbeyLog extends javax.swing.JFrame
{
Connection conn = null;
ResultSet rs = null;
PreparedStatement pst = null;
/**
* Creates new form AbbeyLog
*/
public AbbeyLog()
{
initComponents();
}
@SuppressWarnings("unchecked")
private void textuserActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
String sql = "select * from login where username = ? and password = ?";
try
{
pst = conn.prepareStatement(sql);
pst.setString(1, textuser.getText());
pst.setString(2, textpass.getText());
rs = pst.executeQuery();
if (rs.next())
{
JOptionPane.showMessageDialog(null, "Username and Password correct");
}
else
{
JOptionPane.showMessageDialog(null, "invalid username and password");
}
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
private void textuserMouseClicked(java.awt.event.MouseEvent evt)
{
// TODO add your handling code here:
}
public static void main(String args[])
{
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new AbbeyLog().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField textpass;
private javax.swing.JButton textuser;
// End of variables declaration
}
You need to create a jdbc connection at startup:
//load the driver
Class.forName("com.mysql.jdbc.Driver").newInstance();
// create a connection
conn = DriverManager.getConnection("jdbc:mysql://"+hostName+":"
+ dbPort+"/"+databaseName+"?"+"user="+dbUser+"&password=" + dbPassword);