java初学者~单个表的添加数据已经实现了,但是这个含有外键的表就是添加不了。。bean里面的add方法如下,其中staffId是staff表的主键、salary表的外键,在页面上输入的是staffname,我...
java初学者~
单个表的添加数据已经实现了,但是这个含有外键的表就是添加不了。。
bean里面的add方法如下,其中staffId是staff表的主键、salary表的外键,
在页面上输入的是staffname,我通过匹配staff表得到对应的staffId再与其他的一起添加到salary表,但是debug的时候总是执行完st.execute();就直接catch (Exception e)了,到数据库查询的时候也是没有添加的进去
public static boolean addSalary(int salaryId,int staffId,String salaryBase,String
perfectAttendanceAward,String postAllowance,String overtimePay,String
endowmentInsurance,String medicalInsurance,String unemploymentInsurance,
String accidentInsurance,String maternityInsurance,String housingFund,
String salaryAssume,String salaryPersonalTax,String actualSalary,String
salaryMonth,String salaryCheckState){
try{
Connection conn=getConnection();
PreparedStatement st=conn.prepareStatement("INSERT INTO salary(salary_id,staff_id," +
"salary_base,perfect_attendance_award,post_allowance,overtime_pay" +
"endowment_insurance,medical_insurance,unemployment_insurance," +
"accident_insurance,maternity_insurance,housing_fund,salary_assume," +
"salary_personal_tax,actual_salary,salary_month,salary_check_state) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
st.setInt(1,salaryId);
st.setInt(2,staffId);
st.setString(3,salaryBase);
st.setString(4,perfectAttendanceAward);
st.setString(5,postAllowance);
st.setString(6,overtimePay);
st.setString(7,endowmentInsurance);
st.setString(8,medicalInsurance);
st.setString(9,unemploymentInsurance);
st.setString(10,accidentInsurance);
st.setString(11,maternityInsurance);
st.setString(12,housingFund);
st.setString(13,salaryAssume);
st.setString(14,salaryPersonalTax);
st.setString(15,actualSalary);
st.setString(16,salaryMonth);
st.setString(17,salaryCheckState);
st.execute();
conn.close();
return true;
}catch (Exception e){
return false;
}
}
展开