嗨,我在Java DB的NetBeans的初學者,違反外鍵
我有兩個表,即交易和檢查表中的事務表 我有一個名爲[TRANSID]列,[PayToOrder],[BANKCODE] ,[Checknumber]。 in checks table我有名爲[checknumber],[dateissued],[amount],[transID]的列。 我使用表單作爲條目。
這裏是我用來在數據庫中插入數據的代碼塊。
private void btnAddRecordActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String trID = txtTransID.getText();
int ID = Integer.parseInt(trID);
String pto = txtPtO.getText();
String bc = txtBankCode.getText();
String cn = txtCheckNum.getText();
int chNum = Integer.parseInt(cn);
String amount = txtAmount.getText();
int amnt = Integer.parseInt(amount);
String dates = (String) txtDate.getValue();
try{
stmt1 = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
stmt2 = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
String sql1 = "Select * From transactions";
String sql2 = "Select * From checks";
rs1 = stmt1.executeQuery(sql1);
rs2 = stmt2.executeQuery(sql2);
rs1.moveToInsertRow();
rs2.moveToInsertRow();
rs1.updateInt("transID", ID);
rs1.updateString("PAYTOORDER", pto);
rs1.updateString("BANKCODE", bc);
rs1.updateInt("checknumber", chNum);
rs2.updateInt("checknumber", chNum);
rs2.updateInt("AMOUNT", amnt);
rs2.updateString("DATEISSUED", dates);
rs2.updateInt("transID", ID);
rs1.insertRow();
rs2.insertRow();
stmt1.close();
stmt2.close();
rs1.close();
rs2.close();
JOptionPane.showMessageDialog(this, "Successfully Recorded!");
}
catch(SQLException err){
JOptionPane.showMessageDialog(this, err.getMessage());
}
}
我一直得到一個錯誤:
「插入表‘交易’導致違反外鍵約束‘CHECKNUMBER’關鍵(輸入的數據)的
請,如果任何人都可以。見識一下這部分
感謝
隆美爾安藤
主鍵TRANSACTIONS表中的[TRANSID]外鍵是[CHECKNUMBER]。 [Checknumber]是CHECKS表中的主鍵,外鍵是[TRANSID]。 –