在java中使用数据库处理程序执行操作时出现问题
我正在努力调试为什么我的程序停在特定的行中, 我试图了解创建表或语句是否有问题,但控制台没有给我任何错误,程序在运行此函数后仍然卡住:在java中使用数据库处理程序执行操作时出现问题,java,mysql,javafx,Java,Mysql,Javafx,我正在努力调试为什么我的程序停在特定的行中, 我试图了解创建表或语句是否有问题,但控制台没有给我任何错误,程序在运行此函数后仍然卡住: @FXML private void loadIssueOperation(ActionEvent event) { String memberID = memberIdInput.getText(); String bookID = bookIdInput.getText(); Alert confA
@FXML
private void loadIssueOperation(ActionEvent event) {
String memberID = memberIdInput.getText();
String bookID = bookIdInput.getText();
Alert confAlert = new Alert(Alert.AlertType.CONFIRMATION);
confAlert.setTitle("Confirm New Opperation");
confAlert.setHeaderText(null);
//TASK1
confAlert.setContentText("Are you sure about issue the book "+bookName.getText()+
"\n to "+memberName.getText()+"?");
Optional<ButtonType> response = confAlert.showAndWait();
if(response.get()==ButtonType.OK){
String insertStr = "INSERT INTO ISSUE(memberID,bookID) VALUES("
+ "'" + memberID + "',"
+ "'" + bookID + "')";
String updateStr = "UPDATE BOOK SET isAvail = false WHERE id = '"+bookID+"'";
System.out.println(insertStr+" and "+updateStr);
if(dataBaseHandler.execAction(insertStr) && dataBaseHandler.execAction(updateStr)){
Alert successAlert = new Alert(Alert.AlertType.INFORMATION);
successAlert.setTitle("Success");
successAlert.setHeaderText(null);
successAlert.setContentText("Complete");
successAlert.showAndWait();
}else{
Alert failedAlert = new Alert(Alert.AlertType.ERROR);
failedAlert.setTitle("Failed");
failedAlert.setHeaderText(null);
failedAlert.setContentText("Issue Operation Failed");
failedAlert.showAndWait();
}
}else{
Alert cancelAlert = new Alert(Alert.AlertType.INFORMATION);
cancelAlert.setTitle("Canceled");
cancelAlert.setHeaderText(null);
cancelAlert.setContentText("Issue Operation Canceled");
cancelAlert.showAndWait();
}
}
代码有问题吗?我是java新手,请..为什么不做类似的事情呢
void setupIssueTable(){
String TABLE_NAME="ISSUE";
try {
stmt = conn.createStatement();
DatabaseMetaData dbm = conn.getMetaData();
ResultSet tables = dbm.getTables(null, null, TABLE_NAME.toUpperCase(), null);
if(tables.next()){
System.out.println("Table "+ TABLE_NAME + "Already exist, ready for go!");
}else{
stmt.execute("CREATE TABLE "+ TABLE_NAME + "("
+ " bookID varchar(200) primary key,\n"
+ " memberID varchar(200),\n"
+ " issueTime timestamp default CURRENT_TIMESTAMP,\n"
+ " renew_Count integer default 0,\n"
+ " FOREIGN KEY (bookID) REFERENCES BOOK(id),\n"
+ " FOREIGN KEY (memberID) REFERENCES MEMBER(id)\n"
+ " )");
}
} catch (SQLException e) {
System.err.println(e.getMessage()+".......setupDatabase");
}finally{
}
}