2012-12-16 23 views
1

這是我的代碼片段,爲什麼沒有合適的驅動程序在這裏找到mysql消息?

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()); 
     } 
    } 
} 

,當我執行它,我得到了這個樣子。 enter image description here

回答

3

其實你在你的DELETE語句中的錯誤,你缺乏FROM關鍵字。它應該是

DELETE FROM GENNU WHERE USER_ID=3 

看到錯誤,它的指向上DELETE

更新1

嘗試,jdbc:mysqlmysql:jdbc

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

不,它不工作。我認爲命令是正確的,因爲:http://www.mkyong.com/jdbc/jdbc-statement-example-delete-a-record/ –

+0

也許這是一個錯字,'DELETE'語句應該有'DELETE','FROM '關鍵字和一個tableName。我會更新答案。 –

+0

seemy updates .. –

0

您需要mySQL Java連接器。你可以找到在這裏的下載頁面:

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

+0

謝謝你的回答,但我已經擁有它,並放置在軌跡用 - cp。 –

+0

如果JDBC驅動程序不在類路徑中,將會有一個異常拋出:** ClassNotFoundException **,來自此指令:'Class.forName(「com.mysql.jdbc.Driver」);'。 –

+0

還可以使用Maven輕鬆找到MySql JDBC驅動程序:[Maven Repo Search](http://search.maven.org/#search|gav|1|g%3A%22mysql%22%20AND%20a%3A% 22mysql-connector-java%22) –

1

嘗試用

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

The documentation說:

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

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

此外,URL應該是

jdbc:mysql://localhost/3306/raja 

,而不是

mysql:jdbc://localhost/3306/raja 
+0

對不起,它不工作。錯誤:未報告的異常InstantiationException;必須被捕獲或聲明爲拋出 Class.forName(「com.mysql.jdbc.Driver」)。newInstance(); ^ 1錯誤 –

+0

它不*編譯*,因爲您忘記處理異常。這就是說,我認爲主要的問題是錯誤的URL。先嚐試改變網址。並閱讀[例外教程](http://docs.oracle.com/javase/tutorial/essential/exceptions/)。這是使用JDBC之前應該瞭解的基本知識。 –

+0

我已經改變了URL並解決了一半,謝謝你,剩下的部分問題已經由@Kuya John解決了。 –

相關問題