CREATE TABLE "Employer" ("employerID" INTEGER PRIMARY KEY NOT NULL ,
"name" CHAR,
"industry" CHAR,
"contact1" CHAR,
"contact2" CHAR,
"email" CHAR,
"website" CHAR,
"facts" CHAR,
"phone" VACHAR)
表工作
CREATE TABLE "Job" ("jobID" INTEGER PRIMARY KEY NOT NULL ,
"employerID" INTEGER,
"title" CHAR,
"description" CHAR,
"type" CHAR,"salary" CHAR,
"benefits" CHAR,
"vacancies" INTEGER,
"closing" CHAR,
"requirement" CHAR,
"placement" BOOL,
"applyTo" CHAR,
"status" CHAR,
"posted" CHAR,
"location" CHAR)
try {
//String sqlStm = "INSERT INTO Job (employerID,title,description,type,salary,benefits,vacancies,closing,requirement,placement,applyTo,status,posted,location) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?) INNER JOIN Employer ON Job.employerID = Employer.employerID";
String sqlStm = "SET @SELECTED_ID = (SELECT employerID FROM Employer WHERE name = '"+comboEmployer.getSelectedItem().toString()+"') INSERT INTO Job (employerID,title,description,type,salary,benefits,vacancies,closing,requirement,placement,applyTo,status,posted,location)VALUES (@SELECTED_ID,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pst = conn.prepareStatement(sqlStm);
pst.setString(2,txtTitle.getText());
pst.setString(3,areaDescription.getText());
pst.setString(4,comboType.getSelectedItem().toString());
pst.setString(5,txtSalary.getText());
pst.setString(6,areaBenefits.getText());
pst.setString(7,txtVac.getText());
pst.setString(8,txtDate.getDateFormatString().toString());
pst.setString(9,areaReq.getText());
pst.setString(10,comboPlace.getSelectedItem().toString());
pst.setString(11,txtWeb.getText());
pst.setString(12,comboStatus.getSelectedItem().toString());
pst.setString(13,"01-01-2013");
pst.setString(14,txtLoc.getText());
pst.executeUpdate();
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
} finally {
try {
rs.close();
pst.close();
} catch (Exception e) {
}
}
}
我试图让用户的工作添加到系统和形式要求他们从Employer
挑雇主表。我不确定如何将JCombobox
中选定的雇主与工作联系起来。即Job
表中的employerID应与employer
表的雇主ID匹配。香港专业教育学院设法做Select
声明,
sql = "SELECT Job.jobID as 'Job ID', Employer.name as'Company', Job.title as 'Role', Job.type as 'Type', Job.closing as 'Closing Date' FROM Job INNER JOIN Employer ON Job.employerID=Employer.employerID ORDER BY Employer.name";
,但不知道如何INSERT
到sqlite的经理。继承人形式:
你为什么有INSERT查询中的INNER JOIN?此外,你使用MySQL或SQLite(你包括两个标签)? – PinnyM
@PinnyM它是一个关系数据库,即Job表中的employerID是外键,并且是雇主表的主键。 – Hoody
sqlite,但声明可能在两种情况下都是类似的 – Hoody