これは、このエラーが発生するデータベースのコードですjava.sql.SQLException: Parameter index out of range 1 > number of parameters
。これは 0 です
そして、データベースに保存する必要があるもののコードを配置します。
PedidoDTO nuevoPedido = new PedidoDTO();
nuevoPedido.setFolio("323423");
nuevoPedido.setFecha(new Date());
nuevoPedido.addDetalle(detalle1);
nuevoPedido.addDetalle(detalle2);
nuevoPedido.addDetalle(detalle3);
long pedidoId =dao.guardar(nuevoPedido);
System.out.println( "ID del nuevo pedido: " + pedidoId );
public long guardar(PedidoDTO obj) throws SQLException {
PedidoDTO dto = new PedidoDTO();
String url="jdbc:mysql://127.0.0.1:3306/capacitacion?user=capacitacion&password=password";
try {
System.out.println("Hola");
Connection con = DriverManager.getConnection(url);
String sentenciaSQL =
"INSERT INTO capacitacion .pedido (fecha, total, folio) VALUES ("
+ obj.getFecha() + ", " + obj.getTotal() + ", " + obj.getFolio() + ")";
PreparedStatement s = con.prepareStatement(sentenciaSQL);
//s.setInt(1, obj.getId());
s.setLong(1, obj.getFecha());
s.setDouble(2, obj.getTotal());
s.setString(3, obj.getFolio());
s.execute();
for(PedidoDetalleDTO detalle:obj.getPedidoDetalle()){
dto.getId();
dto.getFecha();
dto.getTotal();
dto.getFolio();
}con.close();
} catch (SQLException e) {
System.out.println(e);
}
return dto.getId();
}