【问题标题】:Displaying data in database without using json在不使用json的情况下显示数据库中的数据
【发布时间】:2017-06-29 20:21:24
【问题描述】:

不知怎的,我被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: 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:404) 02-11 23:56:13.716 14381-14381/com.example.boneyflesh.connectnapls W/System.err: 在 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)


【问题讨论】:

  • 您应该首先记录这些异常并将它们包含在您的问题中。
  • 格式和语法。
  • 我编辑了我的问题,添加了我在 logcat 上找到的内容。你怎么看?

标签: mysql android-studio jdbc


【解决方案1】:

没关系,我自己解决了,我只需要将我的主机地址设置为 10.0.2.2,这样我的 url 就会像这样。

私有静态最终字符串 url="jdbc:mysql://10.0.2.2:3306/db";

As described here

【讨论】:

    猜你喜欢
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 2019-10-07
    • 1970-01-01
    • 2011-07-07
    相关资源
    最近更新 更多