首页 > 解决方案 > 我在数据库的表中插入值时遇到问题

问题描述

这是我的代码

private void jButtonOKActionPerformed(ActionEvent evt) 
{
    DefaultTableModel model = (DefaultTableModel) table.getModel();
    try {
        Class.forName("java.sql.DriverManager");
       Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/oop", "root", "");
       System.out.println("Database successfully connected! Proof: " +con.toString());

       int column = 0;
       int row = table.getSelectedRow();
       String value = table.getModel().getValueAt(row, column).toString();

       System.out.println(value);

       Statement stmt = con.createStatement();
       String query1 = "select * from package where packageID='"+value+"'";
      ResultSet rs=stmt.executeQuery(query1);

      while(rs.next()) {
          String packageID = rs.getString("packageID");
          String packageName = rs.getString("packageName");
          String location = rs.getString("locationPackage");
          String noPeoplePackage = rs.getString("noPeoplePackage");
          String datePackage = rs.getString("datePackage");
          String pricePackage = rs.getString("pricePackage");

          String query2 = ("insert into booking(locationBooking, noBookingPeople, dateBooking)+ values ('"+location+"','"+noPeoplePackage+"','"+datePackage+"')") ;
          int rss=stmt.executeUpdate(query2);
         //model.addRow(new Object[] {packageID, packageName,location,noPeoplePackage,datePackage,pricePackage});
      }




       // rs.close();
        //stmt.close();
        //con.close();
    } catch (Exception e) {
        JOptionPane.showMessageDialog(this, e.getMessage());
    }
}

它应该从字段中获取值以插入数据库。但是,这是输出“您的 SQL 语法有错误,请查看与您的 MariaDB 相对应的手册,以在 '+values("Langkawi Island","5", "31/12/2019" 附近使用正确的语法)'"

标签: javascriptmysqldatabase

解决方案


在 values() 之前删除 + 并且不需要在查询中使用单引号


推荐阅读