使用java将数据插入mysql

时间:2015-04-16 07:21:36

标签: java mysql jdbc

此代码没有错误或异常,但在运行数据库中的表features后仍为空

try {
    Class.forName("com.mysql.jdbc.Driver");
    con= (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/sounds","root","");
    statment = (Statement) con.createStatement();
    String query = "INSERT INTO featuers (avg_Bandwidth) values (?)";   
    PreparedStatement preparedStmt = (PreparedStatement)con.prepareStatement(query);
    preparedStmt.setDouble(1, avarage_Bandwidth);

    preparedStmt.executeUpdate();

    con.close();
} catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

2 个答案:

答案 0 :(得分:1)

有两点值得注意:

  1. statment = (Statement) con.createStatement();
    如果我正确看到它,则不使用此变量。但这本身不应该是问题
  2. preparedStmt.executeUpdate();
    这个executeUpdate方法应该根据查询本身返回一个int。因此,对于受影响的行数,它应该在您的情况下返回1 。因此,请尝试检查返回的内容。

    这可能不是确切的解决方案,但尝试这些,你可能会对正在发生的事情有所了解

答案 1 :(得分:1)

你好试着用这个。

int status = 0; // to get the status to know if statement is executed properly or not

try {
    Connection con = DBConnection.getConnect();//Your database Connection
    Statement st = con.createStatement();
    status = st.executeUpdate(query); //After executing this it will return an int value
} catch (Exception ex) {
    ex.printStackTrace();
}

我希望这会对你有所帮助。