不使用json

时间:2017-02-11 14:38:23

标签: mysql android-studio jdbc

不知怎的,我得到Class.forName("com.mysql.jdbc.Driver"); 没有找到类异常错误,但我不知道它是否有效。一世 只是添加了权限,但现在我每次都运行这个应用程序 它继续捕捉我设置显示的SQLException 误差2。

为什么我的数据库没有显示我的数据,我的代码有问题吗?

public void connDB() {
    TextView myTextView = (TextView) findViewById(R.id.text);
    try {

        StrictMode.ThreadPolicy policy =
                new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);


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

        Connection con = DriverManager.getConnection(url, user, pass);

        String result = "Database connection success";
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery("SELECT * FROM Scraped");
        ResultSetMetaData rsmd = rs.getMetaData();

        while (rs.next()) {
            result += rsmd.getColumnName(1) + ":" + rs.getString(1) + "\n";
            result += rsmd.getColumnName(2) + ":" + rs.getString(2) + "\n";
            result += rsmd.getColumnName(3) + ":" + rs.getString(3) + "\n";
            result += rsmd.getColumnName(4) + ":" + rs.getString(4) + "\n";
            result += rsmd.getColumnName(5) + ":" + rs.getString(5) + "\n";

        }
        myTextView.setText(result);


    } catch (ClassNotFoundException e) {
        myTextView.setText("error1");
    } catch (SQLException e) {
        myTextView.setText("error2");

    }
}

修改

这是我在logcat中发现的,dang,哈哈这么多我没有包括其他人但我能理解的是它没有连接到服务器或数据库。

02-11 23:56:13.716 14381-14381 / com.example.boneyflesh.connectnapls W / System.err:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通讯链接失败 02-11 23:56:13.716 14381-14381 / com.example.boneyflesh.connectnapls W / System.err:成功发送到服务器的最后一个数据包是0毫秒前。驱动程序未收到来自服务器的任何数据包。 02-11 23:56:13.716 14381-14381 / com.example.boneyflesh.connectnapls W / System.err:at java.lang.reflect.Constructor.newInstance(Native Method) 02-11 23:56:13.716 14381-14381 / com.example.boneyflesh.connectnapls W / System.err:at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) 02-11 23:56:13.716 14381-14381 / com.example.boneyflesh.connectnapls W / System.err:at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:981)

02-12 00:02:48.386 20185-20185 / com.example.boneyflesh.connectnapls W / System.err:引起:java.net.ConnectException:无法连接到/127.0.0.1(端口3306):连接失败:ECONNREFUSED(拒绝连接)

  

02-11 23:25:37.714 2356-2371 /? D / OpenGLRenderer:使用EGL_SWAP_BEHAVIOR_PRESERVED:true

                                            [ 02-11 23:25:37.717  2356: 2356 D/         ]
                                            HostConnection::get() New Host Connection established 0xaabfc5c0, tid 2356


                                            [ 02-11 23:25:37.718  2356: 2356 W/         ]
                                            Process pipe failed

                                            [ 02-11 23:25:37.755  2356: 2371 D/         ]
                                            HostConnection::get() New Host Connection established 0xaabfc880, tid 2371
     

02-11 23:25:37.761 2356-2371 /? I / OpenGLRenderer:初始化的EGL,版本1.4   02-11 23:25: 37.808 2356-2371 /? E / EGL_emulation:tid 2371:eglSurfaceAttrib(1165):错误0x3009(EGL_BAD_MATCH)

1 个答案:

答案 0 :(得分:1)

没关系,我解决了我自己的问题我只需要将我的主机地址设置为10.0.2.2所以我的网址看起来像这样。

  

private static final String url =“jdbc:mysql://10.0.2.2:3306 / db”;

As described here