【问题标题】:MySQL database connection not workingMySQL数据库连接不起作用
【发布时间】:2016-01-31 22:18:42
【问题描述】:

第一次使用带有 android 的外部数据库,我正在尝试设置数据库连接。我在数据库中创建了一个基本表只是为了测试目的,并试图连接和插入一些数据。这是我的代码:

public class DBInterface {
//TODO: Fix the database connections

    private Connection conn = null;
    private  Statement statement = null;



    public void connectToDatabase(){
        Log.d("myTag", "This is my messagestart");
        try {

            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection("jdbc:mysql://mysql.**.***.***.***:3306", "DB_USER", "DB_PASSWORD");
            statement = conn.createStatement();
            statement.executeUpdate("INSERT INTO test (test) VALUES (15)");
            Log.d("myTag", "This is my message");


        } catch (SQLException ex) {
            Log.d("myTag", "SQLException: " + ex.getMessage());
            Log.d("myTag","SQLState: " + ex.getSQLState());
            Log.d("myTag","VendorError: " + ex.getErrorCode());
        }catch(Exception e){e.printStackTrace();}
    }

我在 MainActivity 的 onCreate 中调用它:

         DBInterface db = new DBInterface();
         db.connectToDatabase();
         Log.d("myTag", "This is my message2");

没有插入数据,但我也没有收到任何错误,我将日志消息放入以尝试查看它到达的位置,日志的唯一输出是:

10-31 16:13:41.481 9918-9918/com.jacksteel.comp4 D/myTag:这是我的消息开始

10-31 16:13:41.486 9918-9918/com.jacksteel.comp4 D/myTag: 这是我的留言2

【问题讨论】:

  • 尝试:conn = DriverManager.getConnection("jdbc:mysql://.***.***.***:3306/DBNAME", "DB_USER ", "DB_PASSWORD");**
  • @BerndBuffen 没有任何变化,输出相同

标签: java android mysql android-studio


【解决方案1】:

不是一个直接的答案,但您永远不想将您的应用程序直接连接到您的数据库。相反,您应该在服务器上编写一些脚本来执行 INSERT、SELECT、UPDATE 和 DELETE。

然后,您的应用将向这些脚本发送请求以执行查询。

【讨论】:

  • 这个。做这个。不要让人们原始访问您的数据库。充其量,它会限制你在引擎盖下进行调整的能力。在最坏的情况下,它会导致数据丢失和/或泄漏。
  • 目前只是一个学校项目,我还没有知识或时间去做。
  • 编写一个 php 脚本只需要 5 分钟好吧,你知道你的决定...你的 mysql 是否可以远程访问,你也使用 executeUpdate 但它是一个 INSERT
  • @meda 是的 mysql 可以远程访问,我使用了 executeUpdate,因为这就是它所说的用于插入/更新数据或任何不返回任何内容的命令
猜你喜欢
  • 2013-01-29
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
  • 2018-11-09
  • 2015-11-12
  • 1970-01-01
  • 2022-12-14
  • 2014-05-20
相关资源
最近更新 更多