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

时间:2016-08-04 13:30:37

标签: java android mysql

我正在尝试使用Java将一些数据上传到MySQL数据库,因为我正在使用Android应用程序。到目前为止,此代码编译并运行,但不会向我的数据库上传任何内容。我假设因为我没有在任何地方“连续”访问数据库,但是当我四处寻找解决方法时,我找不到任何东西。

我试图上传的代码片段

 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();
        }
    }

1 个答案:

答案 0 :(得分:1)

您正在尝试连接到localhost,在您的情况下是安卓设备。我很确定您的设备上没有运行MySQL服务器,因此您会看到问题。您可以使用JDBC驱动程序连接到MySQL服务器,但我真的不推荐它。移动应用程序存在于用户设备上,并且直接访问数据库服务器并不是一个好主意。如果您需要本地数据库,可以使用SQLite,Couchbase Lite,Firebase,Realm等。如果您想与服务器同步,您可以实现应用程序服务器并通过REST同步,或者使用类似的解决方案Couchbase Lite + Sync Gateway或Google的Firebase

的问候,
弗拉基米尔