java - 尝试使用 JDBC 连接到数据库时应用程序崩溃

标签 java android database android-studio jdbc

我想从数据库中获取一些值,但是当我单击按钮 (void ButtonClick) 时,我的应用程序崩溃了。

这是我的代码:

public void ButtonClick() throws Exception {
    getConnection();
}

public Connection getConnection() throws Exception {
    try {
        String username = "*******";
        String password = "*******";
        String url = "jdbc:mysql://http://**.***.***.***:3306/UserDB";
        Class.forName("com.mysql.jdbc.Driver").newInstance();

        Connection conn = (Connection) DriverManager.getConnection(url,username,password);
        Statement statement = (Statement) conn.createStatement();
        String query = "SELECT * FROM TABLE 'UserDB'";
        ResultSet result = statement.executeQuery(query);
        while (result.next()) {
            String name = result.getString("Username");
            int id = result.getInt("ID");
            int points = result.getInt("Points");
            Toast.makeText(this, name + " " + id + " " + points, Toast.LENGTH_SHORT).show();
        }
        return  conn;
    } catch (Exception e) {
        Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT).show();
    }
    return null;
}

(我不知道错误是什么,因为我的 AVD 无法工作)

感谢您的帮助!

最佳答案

从 Java 7 开始,无需使用 forName() 方法。您将以这种方式创建一个新实例,同时尝试使用 DriverManager.getConnection() 创建连接。

因此,为了解决这个问题,只需使用 forName() 方法删除驱动程序的实例化即可。

查看屏幕截图,请注意您无法从 Android native 访问 MySQL 数据库。实际上您也许可以使用 JDBC,但不推荐。请看这个post

希望有帮助。

关于java - 尝试使用 JDBC 连接到数据库时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45927462/

相关文章:

java - 如何使用 Maven 创建一个可执行 jar 文件,其中包含主类位于 Test 中的依赖项

vim 中的 android 远程 python 脚本

python - 用户不存在并且没有重定向到 django 项目中创建的租户

sql-server - 无法执行 COMPUTE 语句

java - 如何让java接受一行输入,显示结果,并要求更多输入?

Java 对象作为 Rhino 中的原型(prototype)

java - Java 中的正则表达式以 '_' 开头,以空格/换行符结尾

java - 如何获取外部包中的异常原因/原因

android - 如何在TextView中显示带有css样式表的html?

database - craigslist/kijiji 架构