【发布时间】:2015-07-09 15:12:14
【问题描述】:
嗨,我正在尝试做一个 android 应用程序,我需要连接到外部数据库,但是当我加载 jdbc 驱动程序时,系统给我一个错误,这是代码,错误出现在 Class.forName("com .mysql.jdbc.Driver"); 我查看了 jdbc 驱动程序的路径,但它是正确的,知道吗?
private void connDB(String username, String password, Intent intent){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://ip/dbname?", "username", "password");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM id");
rs = stmt.getResultSet();
if (stmt.execute("SELECT * FROM id")) {
rs = stmt.getResultSet();
}
while (rs.next()) {
//get id
id1 = rs.getInt("id");
id.add(id1);
//get name
buff = rs.getString("id");
user_name.add(buff);
//get password
buff = rs.getString("id");
user_password.add(buff);
}
imax = id.size();
for(i=0; i<imax; i++){
if(MainClass.username.equals(user_name.get(i)) && MainClass.password.equals(user_password.get(i))){
startActivity(intent);
idUser = id.get(i);
break;
}
else{
System.out.println("error");
}
}
}
catch (Exception ex){
System.out.println("SQLException: " + ex.getMessage());
}
finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException sqlEx) { } // ignore
rs = null;
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException sqlEx) { } // ignore
stmt = null;
}
}
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:309)
at java.lang.Class.forName(Class.java:273)
都是系统错误
【问题讨论】:
-
如果您告诉我们您遇到的错误是,会更容易为您提供帮助。您应该编辑您的问题以添加该信息。
-
Ex.getMessage 只显示 com.mysql.jdbc.Driver 如果您可以提出其他错误消息请求,我会发布结果
-
将
System.out.println("SQLException: " + ex.getMessage());替换为ex.printStackTrace();。 -
问题可能是您在 Android 中使用 Java 驱动程序。
-
那么你没有使用
ex.printStackTrace();(除非Android做的事情与普通Java完全不同)。
标签: java android mysql jdbc driver