Raja G
Raja G

Reputation: 6673

why No suitable driver found for mysql message here?

this is my code snippet,

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

public class Delete
{
    public static void main(String args[])
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver");

            Connection con = DriverManager.getConnection("mysql:jdbc://localhost:3306/raja","root","459805");
            Statement stmt=con.createStatement();
            int count=stmt.executeUpdate("DELETE GENNU WHERE USER_ID=3;");
            if(count>0)
                System.out.println(" Ok Deletion done");
        }
        catch(ClassNotFoundException e)
        {
            System.out.println(e.getMessage());
        }
        catch(SQLException e)
        {
            System.out.println(e.getMessage());
        }
    }
}

and when I execute it , i got like this. enter image description here

Upvotes: 1

Views: 168

Answers (3)

John Woo
John Woo

Reputation: 263873

actually you have an error in your DELETE statement, you lack FROM keyword. it should be

DELETE FROM GENNU WHERE USER_ID=3

see the error, it's pointing on DELETE.

UPDATE 1

try, jdbc:mysql not mysql:jdbc

Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/raja"
              + "user=root&password=459805");

Upvotes: 3

JB Nizet
JB Nizet

Reputation: 692121

Try with

Class.forName("com.mysql.jdbc.Driver").newInstance();

The documentation says:

        // The newInstance() call is a work around for some
        // broken Java implementations

        Class.forName("com.mysql.jdbc.Driver").newInstance();

Also, the URL should be

jdbc:mysql://localhost/3306/raja

and not

mysql:jdbc://localhost/3306/raja

Upvotes: 1

Jivings
Jivings

Reputation: 23262

You need the mySQL Java Connector. Which you can find at the download page here:

https://www.mysql.com/products/connector/

Upvotes: 0

Related Questions