我们在学校有一个项目,我想使用SQLite。
我在互联网上做了一个教程,使用NetBeans将我连接到我的数据库并且它可以工作,但我的老师可能没有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());
}
在另一个文件中,我还有一个错误,它涉及getMetaData()
我没有在互联网上查看此内容,但我找不到此错误的答案
答案 0 :(得分:2)
鉴于错误位置(Connection.java:72
),您创建的课程Connection
与java.sql.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
或者您需要将自己的类Connection
重命名为其他内容,因此如果您为该类添加导入,则不会与java.sql.Connection
冲突。
第二个编译错误只是一个跟踪错误,原因相同,因为conn
被定义为您自己的Connection
类,它没有createStatement()
方法。