我正在Java创建一个航班应用程序,它应该做的事情之一是添加一个新的航班到数据库。我可以添加航班名称没有问题,但我有问题添加航班的座位数到数据库。数据库表被设置为将座席数作为整数值。在我的代码中,将这个值从用户界面添加到数据库的函数将一个值作为整数参数。然后,在添加新航班的实际按钮的事件处理程序代码中,我将值从字符串(这是文本框中接受的字符串)转换为整数,以便将值输入数据库。然而,当我运行我的代码时,我得到一个错误,说座席数不能被接受为空值。基本上,数据库将该值作为空值。我不确定我在代码中做错了什么。
public class Flight extends Customer {
private static ArrayList<String> FlightNames;
private static ArrayList<Integer> Seats;
private static PreparedStatement getFlightnames;
private static PreparedStatement getFlightSeats;
private static PreparedStatement addFlightName;
private static PreparedStatement addSeats;
private static ResultSet fresult;
private static ResultSet sresult;
public static ArrayList <String> getFlightnames(){
//recieve flight names from database
try{
FlightNames = new ArrayList();
getFlightnames = getConnection().prepareStatement("select name from flight ");
fresult = getFlightnames.executeQuery();
while(fresult.next()){
FlightNames.add(fresult.getString(1));
}
}
catch(SQLException result){
result.printStackTrace();
}
return FlightNames;
}
public ArrayList<Integer> getFlightSeats(){
try{
Seats = new ArrayList();
//getFlightSeats = getConnection().prepareStatement("SELECT * FROM Flight WHERE Seats LIKE ?");
getFlightSeats = getConnection().prepareStatement("select seats from flight ");
sresult = getFlightSeats.executeQuery();
while(sresult.next()){
Seats.add(sresult.getInt(1));
}
}
catch(SQLException result){
result.printStackTrace();
}
return Seats;
}
public void addFlight(String flight){
try{
addFlightName = getConnection().prepareStatement("insert into bookings (flight) values(?)");
addFlightName.setString(1, flight);
addFlightName.executeUpdate();
}
catch(SQLException result){
result.printStackTrace();
}
}
public void addNumber(String flightNumber){
try{
addFlightName = getConnection().prepareStatement("insert into flight (name) values(?)");
addFlightName.setString(1, flightNumber);
addFlightName.executeUpdate();
}
catch(SQLException result){
result.printStackTrace();
}
}
public void addSeats(int seats){
try{
addSeats = getConnection().prepareStatement("insert into flight (seats) values(?)");
addSeats.setInt(1, seats);
addSeats.executeUpdate();
}
catch(SQLException result){
result.printStackTrace();
}
}
}
private void AddFlightButtonActionPerformed(java.awt.event.ActionEvent evt) {
Flight addnumber = new Flight();
Flight addseats = new Flight();
addnumber.getConnection();
addseats.getConnection();
String flight = FlightTextBox.getText();
String seats = SeatsTextBox.getText();
int seatsInt = Integer.parseInt(seats);
addnumber.addNumber(flight);
addseats.addSeats(seatsInt);
AddFlightStatusLabel.setText("The flight " + flight + " has been added with " + seats + " seats" );
BookFlightComboBox.setModel(new javax.swing.DefaultComboBoxModel(Flight.getFlightnames().toArray()));
StatusFlightComboBox.setModel(new javax.swing.DefaultComboBoxModel(Flight.getFlightnames().toArray()));
WaitFlightComboBox.setModel(new javax.swing.DefaultComboBoxModel(Flight.getFlightnames().toArray()));
}
看起来您使用了错误的表添加座位或错误的表索引。
编辑:检查表列后,您需要为两个函数添加类似这样的查询,但建议只使用类似这样的单个方法:
public void addFlightDetail(String flightNumber, int seats){
addFlightName = getConnection().prepareStatement("insert into flight (name, seats)
values(?,?)");
addFlightName.setString(1, flightNumber);
addFlightName.setInt(1, seats);
}
我是< code>sqlite数据库的新手,在我的项目中,我需要在创建数据库后添加数据。我尝试了这种方式,这是我的代码。 公共类主要活动扩展活动 { } 我创建了另一个类来打开sqlite数据库。 公共类MySqlHelper扩展SQLiteOpenHelper{ 公共字符串getBird(int id){ 它给我异常 帮助我避免这种情况,并在创建数据库后立即插入数据。
线程“AWT-EventQueue-0”java.lang.ClassCastException中的异常:类net.ucanAccess.jdbc.UCANAccessSpreparedStatement无法强制转换为类com.mysql.jdbc.PreparedStatement(net.ucanAccess.jdbc.UCANAccessSpreparedStatement和com.mysq
我在生产中有一个基于Hibernate的应用程序,有一个大型数据库。我需要在这个应用程序中向两个实体(两个表)添加审计,我决定使用Envers。 对于每次插入、更新或删除,Envers都会向实体的审核表中添加一条新记录。 如果从应用程序一开始就支持Envers,那么审计表将在实体创建(INSERT)时填充。 Envers留档非常薄,没有提到任何关于将Envers添加到现有应用程序的内容。 如果我简
我有一个很愚蠢的问题。当我们向ArrayList添加一个int值时,它会创建该int值的新整数对象吗?例如: 在上面的代码中,“a”是一个值为1的原始类型,“list”是一个包含整数类型元素的数组列表。那么在“列表”中添加“a”时,“列表”如何将“a”视为整数?
很容易将列表列表转换为数据帧: 但是我如何将df转换回列表列表呢?
问题内容: 我正在显示此示例产品表。我需要在不使用结果集的情况下将所有表日期合并到一个jsp中。我尝试完成这一部分: 我需要将所有表数据添加到列表或?? 并使用方法将其退回我该怎么办? 问题答案: 使您的方法返回a 而不是单个。 然后,在您的JSP文件中,迭代返回的列表: