2016-11-26 12 views
1

私たちは学校でプロジェクトを行っています。私はSQLiteを使いたいです。コンパイルエラーの互換性のない型:java.sql.ConnectionをConnectionに変換できません

NetBeansを使って私のDBに接続するチュートリアルをしましたが、私の先生はおそらくNBを持っていないので、javacでコンパイルしようとしています。 これはテスト時に表示されます。

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 

ので、私のコードはここに他のファイルに

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

で、私は1個の以上のエラーを持っていた、(のgetMetaDataに関係する)

私は、インターネット上でこれに見ていませんでしたこのエラーに対する答えが見つかりません

+3

インポートが間違っています。インポートjava.sql.Connectionが正しく設定されていることを確認してください。 – developer

+0

Javaファイルの上部にある 'import java.sql.Connection'を使用してください。 –

+0

あなたの問題に関係はありませんが、NetbeansはMavenタイプのプロジェクトを管理できます。太陽の下のすべてのJava IDEがmavenプロジェクトをサポートしていると思いますので、先生のIDEがサポートしている可能性があります。 – fvu

答えて

1

エラーの場所(Connection.java:72)を指定すると、Connectionというクラスが作成され、と競合します。

あなた明示的java.sql.Connectionを参照するようにコードを変更する必要があります。

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

それとも、あなたがのためにインポートを追加する場合、それはjava.sql.Connectionと競合しないように、何か他のものに独自のクラスConnectionの名前を変更する必要がありますそのクラス。

connConnectionクラスとして定義されており、createStatement()メソッドを持たないため、2番目のコンパイルエラーは同じ原因によるフォローアップエラーです。

関連する問題