私は1つの基本プログラムと1つのアプリを持っています。これを使用した基本プログラム(DB_URL、USER、PASS、JDBC_DRIVERはすべて正しく機能しています)、MySQLDBから情報を取得できます。コードは次のとおりです。
try {
// STEP 2: Register JDBC driver
Class.forName(JDBC_DRIVER);
// STEP 3: Open a connection
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT distinct tags FROM items";
ResultSet rs = stmt.executeQuery(sql);
// STEP 5: Extract data from result set
while (rs.next()) {
// Retrieve by column name
String itemRoles = rs.getString("tags");
//Add it to the ArrayList.
itemRolesList.add(itemRoles);
// Display values
System.out.print("TAGS: " + itemRoles + "\n");
}
// STEP 6: Clean-up environment
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
// Handle errors for JDBC
se.printStackTrace();
} catch (Exception e) {
// Handle errors for Class.forName
e.printStackTrace();
} finally {
// finally block used to close resources
try {
if (stmt != null)
stmt.close();
} catch (SQLException se2) {
}// nothing we can do
try {
if (conn != null)
conn.close();
} catch (SQLException se) {
se.printStackTrace();
}// end finally try
}// end try
しかし、これと同じコードをアプリに適用しようとすると(OnCreateView()のフラグメント内)、次のようになります。
"java.lang.ClassNotFoundException: com.mysql.jdbc.Driver"
そしてそれは次のコード行にあります:
Class.forName(JDBC_DRIVER);
「mysql-connector-java-5.1.23-bin.jar」を追加しました。これは、プログラムとアプリの両方のリファレンスライブラリにあります。私のアプリ内でこのエラーが発生する理由を誰かが知っていますか?