我正在尝试使用 Java 将一些数据上传到 MySQL 数据库,因为我正在开发 Android 应用程序。到目前为止,这段代码已编译并运行,但没有将任何内容上传到我的数据库。我想是因为我没有在任何地方“连续”访问数据库,但是当我四处寻找解决这个问题的方法时,我没有找到任何东西。
我尝试上传的代码 fragment
String addStreakName = chooseName.getText().toString();
String addCategory = prefs.getString("Category", "");
String addToday = new SimpleDateFormat("dd-MM-yyyy").format(new Date());
if(prefs.getInt("todayOrChosen", 1) == 1){
int addStartedZero = 0;
streakList.add(new Streak(addStreakName, addCategory, addToday, addStartedZero));
try {
Connection con = DriverManager.getConnection("127.0.0.1", "[myusername]", "[mypassword]");
Statement st = con.createStatement();
st.executeUpdate("INSERT INTO `users`(userId, addStreakName,addCategory,addToday,addStartedZero) VALUE ('"+addStreakName+"', '"+addCategory+"', '"+addToday+"', '"+addStartedZero+"', '"+userID+"')");
} catch (SQLException e) {
e.printStackTrace();
}
}
最佳答案
您正在尝试连接到本地主机,在您的情况下是 Android 设备。我非常确定您的设备上没有运行 MySQL 服务器,因此您会看到问题。您也许可以使用 JDBC 驱动程序连接到 MySQL 服务器,但我真的不推荐它。移动应用程序驻留在用户设备上,直接访问数据库服务器并不是一个好主意。如果您需要本地数据库,您可以使用 SQLite、Couchbase Lite、Firebase、Realm 等。如果您想与服务器同步,您可以实现应用程序服务器并通过 REST 同步,或者使用类似的解决方案Couchbase Lite+Sync Gateway 或 Google 的 Firebase
问候,
弗拉基米尔
关于java - 如何使用Java在SQL查询中指定数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38768768/