2016-11-26 3 views
1

Wir haben ein Projekt in der Schule, und ich möchte SQLite verwenden.Kompilierungsfehler inkompatible Typen: java.sql.Connection kann nicht in Verbindung konvertiert werden

Ich habe ein Tutorial im Internet, die NetBeans verwenden, um mich auf meiner DB zu verbinden, und es funktioniert, aber mein Lehrer wahrscheinlich nicht NB, also versuche ich es auf javac zu kompilieren. so erscheint dies, wenn ich es teste.

Connection.java:72: error: incompatible types: java.sql.Connection cannot be converted to Connection 
           conn = DriverManager.getConnection("jdbc:sqlite:test.db"); 
                   ^
Connection.java:78: error: cannot find symbol 
         Statement stmt = conn.createStatement(); 
              ^
    symbol: method createStatement() 
    location: variable conn of type Connection 
2 errors 

so mein Code hier ist

 try { 
      Connection conn = null; 
      try { 
       Class.forName("org.sqlite.JDBC"); 
       conn = DriverManager.getConnection("jdbc:sqlite:c:\sqlite\test.db"); 
      } catch (Exception e) { 
       System.err.println(e.getClass().getName() + ": " + e.getMessage()); 
       System.exit(0); 
      } 
      System.out.println("Opened database successfully"); 
      Statement stmt = conn.createStatement(); 
      // create a new table 

      stmt.execute(sqldoc); 
      stmt.execute(sqlaud); 
      stmt.execute(sqlvid); 
      stmt.execute(sqlliv); 
      stmt.execute(sqlcli); 
      stmt.execute(sqlemp); 
     } catch (SQLException e) { 
      System.out.println(e.getMessage()); 
     } 

in einer anderen Datei, hatte ich noch einen Fehler, der getMetaData betreffen()

ich nicht, einen Blick auf den im Internet nehmen hatte aber ich finde die Antwort auf diesen Fehler nicht

+3

Falscher Import, stellen Sie sicher, dass Sie import java.sql.Connection korrekt haben – developer

+0

Verwenden Sie 'import java.sql.Connection' an der Spitze Ihrer Java-Datei. –

+0

Nicht auf Ihr Problem bezogen, aber Netbeans kann Maven-Projekte verwalten, und ich denke, dass jede Java IDE unter der Sonne Maven-Projekte unterstützt, so dass die IDE Ihres Lehrers es wahrscheinlich auch unterstützen wird. – fvu

Antwort

1

Angesichts der Fehlerort (Connection.java:72) erstellen Sie eine Klasse Connection, die im Konflikt mit java.sql.Connection.

Sie müssen entweder den Code ändern ausdrücklich java.sql.Connection verweisen:

java.sql.Connection conn = null; 
try { 
    Class.forName("org.sqlite.JDBC"); 
    conn = DriverManager.getConnection("jdbc:sqlite:c:\sqlite\test.db"); 
    // ...etc 

Oder Sie benötigen, um Ihre eigene Klasse Connection, um etwas anderes zu benennen, so dass es nicht mit java.sql.Connection in Konflikt, wenn Sie einen Import hinzufügen, für diese Klasse.

Der zweite Übersetzungsfehler ist nur ein Follow-up-Fehler mit dem gleichen Grunde, wie conn als eigene Connection Klasse definiert ist, die keine createStatement() Methode haben.

Verwandte Themen