java - 如何使用Java在SQL查询中指定数据库

标签 java android mysql

我正在尝试使用 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/

相关文章:

java - 构建 Java Windows 应用程序以访问在线 MySQL 数据库需要什么

java - 如何在abstractDAO中使用特定的rowmapper

java - Java 中的 LCA 算法(使用非二叉树)

java - Maven 指定编译时插件

android - Google Play 结算包在哪里?

java - 强制 GSON 一般使用包含 Setter 或 Setter 的构造函数,而不是 Fields

java - 如何在 TextClock 中强制采用 12 小时时间格式?

php - 通过链接表从数据库中选择值

java - 下拉列表空指针 JSP 到 Servlet

java - 如何在 Hibernate JPA @NamedEntityGraph 中引用继承的属性?