2011-12-02 81 views
-1

在JDBC 4類連接的 「驅動程序」 已被註冊,但連接有一定的誤差,即JDBC連接類型4

Connection con=DriverManager.getConnection("jdbc:oracle:@localhost:1521:XE","system","manager"); 

錯誤:不兼容的類型,發現: - java.sql.Connection中,需要:連接

import java.sql.*; 
class A 
{ 
    public static void main(String args[]) 
    { 
     try 
     { 
      Class.forName("oracle.jdbc.driver.OracleDriver"); 
      Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","manager"); 
      Statement stmt= con.createStatement(); 
      ResultSet rset=stmt.executeQuery("Select * from emp"); 
      while(rset.next()) 
      {        
      System.out.println(rset.getInt(1)+"\t"+rset.getString(2)+"\t"+rset.getString(3)+"\t"+ rset.getFloat (4)); 
      } 
      con.close(); 
     } 
     catch(Exception e) 
     { 
      System.out.println(e); 
     } 
    } 
} 
+3

什麼是錯誤? – Mechkov

+0

你有什麼錯誤?你使用正確的精簡jdbc驅動程序的oracle? – CoolBeans

+1

不應忽視錯誤,因爲它們僅用於裝飾。錯誤告訴我們有關問題的原因。你知道,一旦原因被理解了*,解決方案無非是明顯的。在這裏,在堆棧溢出中,我們可以通過非專業術語翻譯錯誤,以便理解錯誤原因。所以,請編輯您的問題,以包括確切的錯誤:) – BalusC

回答

2

如果我正確理解的,該錯誤消息是一個編譯器的錯誤消息。這意味着您的代碼位於默認包中,並且您在此默認包中有一個名爲Connection的類。 DriverManager.getConnection(...)返回一個java.sql.Connection。使用

java.sql.Connection con = DriverManager.getConnection(...) 

或將您自己的Connection類重命名爲其他內容。

並且永遠不要使用默認包。它會導致各種問題,應該避免。始終把你的課程放在你的一攬子課程中。

+0

thnx yaar你的建議是正確的我已經和我的定義連接類,當我高壓刪除它..我的程序執行.. 。thnx身體 – clock