Hello guys. I'm trying to create a registration form that takes in employee information. The error I'm getting is: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

I'm still trying my hand at working with MySQL and Netbeans. Here's what I have so far:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class DBConnection {

    private Connection DBConnection;
    public Connection connect (){
            System.out.println("Connection Success!");
        catch(ClassNotFoundException cnfe){
            System.out.println("Connection Failed!" + cnfe);

        String url = "jdbc:mysql://localhost:3306/bel-air";
            DBConnection = DriverManager.getConnection(url,"root", "");
            System.out.println("Database Connected!");
        catch(SQLException se){
            System.out.println("No Database!" + se);
        return DBConnection;

    public void WriteToDatabase(String firstname, String lastname, String midInitial, String gender, String teleNum, String mobNum, String username, String password){

            String url = "jdbc:mysql://localhost:3306/bel-air";
            DBConnection = DriverManager.getConnection(url,"root", "");

            Statement sta = DBConnection.createStatement();

            int s = sta.executeUpdate("INSERT INTO employees VALUES('" + firstname + "', '" + lastname + "', '" + midInitial + "', '" + gender + "','" + teleNum + "', '" + mobNum + "','" + username + "', '" + password + "',)");
            System.out.println("Inserted into database!");

        catch(Exception e){


And here's my RegistrationForm.java:

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
       Object obj = evt.getSource(); 
       if(obj == jButton1){


    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        DBConnection db = new DBConnection();
        db.WriteToDatabase(jTextField1.getText(), jTextField3.getText(), jTextField2.getText(), jComboBox1.getSelectedItem() + "", jTextField5.getText(), jTextField6.getText(), jTextField4.getText(), jPasswordField1.getText());

Recommended Answers

All 4 Replies

Looking at your SQL statement (line 37) it lookslike you have a comma right at the end - just before the closing )
Maybe that's the syntax error?

Thank you JamesCherrill. I've deleted the comma on line 37, but once I ran the program again yet another error: java.sql.SQLException: Column count doesn't match value count at row 1

Is there something I missed in my query? Do my columns on MySQL database have to match the order of values on line 37?

I got the code to work by setting the placements of the values into the right order which they appear on the sql database. Thank you!

main observation here: don't do this. NEVER create SQL statements this way, ALWAYS use PreparedStatements or better yet JPA.
Prevents a lot of problems.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.