尝试使用JDBC连接到数据库时应用程序崩溃
问题描述:
我想从数据库中获取一些值,但当单击按钮(void ButtonClick)时,我的应用程序崩溃。尝试使用JDBC连接到数据库时应用程序崩溃
这是我的代码:
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的MySQL数据库。其实你也许可以使用JDBC,但不推荐。请参阅post
希望它有帮助。
+1
我刚碰到这个问题。推荐的数据库访问方式显然是位于应用程序和数据库之间的RESTful服务。 – failedProgrammer
什么是错误? –
请在此处添加代码,而不是粘贴外部链接 –
Alex Mamo,我不知道错误是什么。我的AVD不工作。 –