Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 加载jdbc驱动程序时出错_Java_Android_Mysql_Jdbc_Driver - Fatal编程技术网

Java 加载jdbc驱动程序时出错

Java 加载jdbc驱动程序时出错,java,android,mysql,jdbc,driver,Java,Android,Mysql,Jdbc,Driver,嗨,我正在尝试做一个android应用程序,我需要连接到一个外部数据库,但是当我加载jdbc驱动程序时,系统给我一个错误。这是代码,错误在Class.forName(“com.mysql.jdbc.driver”); 我回顾了jdbc驱动程序的路径,但它是正确的,知道吗 private void connDB(String username, String password, Intent intent){ try{ Class.forName("com.mysq

嗨,我正在尝试做一个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)
private void connDB(字符串用户名、字符串密码、意图){
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
Connection conn=DriverManager.getConnection(“jdbc:mysql://ip/dbname?“,”用户名“,”密码“);
stmt=conn.createStatement();
rs=stmt.executeQuery(“从id中选择*);
rs=stmt.getResultSet();
if(stmt.execute(“SELECT*FROM id”)){
rs=stmt.getResultSet();
}
while(rs.next()){
//取得身份证
id1=rs.getInt(“id”);
id.add(id1);
//得名
buff=rs.getString(“id”);
用户名。添加(buff);
//获取密码
buff=rs.getString(“id”);
用户密码。添加(buff);
}
imax=id.size();
对于(i=0;i试试这个:

Class.forName("com.mysql.jdbc.Driver").newInstance();

如果你告诉我们你得到的错误是什么,你会更容易帮助你。你应该编辑你的问题来添加信息。Ex.getMessage只显示com.mysql.jdbc.Driver如果你可以建议其他错误消息请求,我会发布resultReplace
System.out.println(“SQLException:+Ex.getMessage())
ex.printStackTrace();
一起使用。问题可能是您在Android中使用的是Java驱动程序。那么您就没有使用
ex.printStackTrace();
(除非安卓做了与普通Java完全不同的事情)。如果
Class.forName(“com.mysql.jdbc.driver”);
抛出了一个异常,它没有返回要调用的类对象
newInstance()
。使用
.newInstance()
只是解决MySQL JDBC驱动程序中10年前修复的一个错误(可能更久)的一种方法。