В настоящее время я работаю над страницей регистрации, где она запрашивает электронную почту, пароль, подсказку к паролю, полное имя и идентификационный номер карты. У меня есть 3 таблицы;
Вот моя структура таблицы;
HR_APPLICANT
• APPLICANT_PK (NUMBER)
• IDENTITYCARD_NUMBER ( VARCHAR2 (14 байт))
• EMAIL (VARCHAR2 (100 байт))
HR_USERID
• USERID_PK (NUMBER)
• APPLICANT_FK (NUMBER)
• ПАРОЛЬ (VARCHAR2 (100 байт))
HR_INFO
• INFO_PK (NUMBER)
• APPLICANT_FK (NUMBER)
• ФИО (VARCHAR2 (100 байт))
Мне удается вставить данные в таблицу HR_APPLICANT . Я хочу получить APPLICANT_PK и вставить его в две другие таблицы как APPLICANT_FK вместе с другой информацией, однако данные не вставлены, и нет отображаемой ошибки, поэтому я не знаю, какая часть неверна.
Вот мой код;
string email = txtEmail.Text;
string password = txtPass1.Text;
string fullname = txtFullname.Text;
string identitycard = txtIdentityCard.Text;
//Insert email and identity card into table HR_APPLICANT
string insertApplicant = "INSERT INTO HR_APPLICANT(IDENTITYCARD_NUMBER, EMAIL, DATE_CREATE)" +
"VALUES (:identitycard, :email, SYSDATE)";
oraCon.Open();
OracleCommand cmd = new OracleCommand(insertApplicant, oraCon);
cmd.Parameters.Add(new OracleParameter("identitycard", identitycard));
cmd.Parameters.Add(new OracleParameter("email", email));
cmd.ExecuteOracleScalar();
//Get APPLICANT_PK
string getApplicantPK = "SELECT APPLICANT_PK FROM HR_APPLICANT" +
"WHERE IDENTITYCARD_NUMBER= :identitycard" +
"AND EMAIL = :email";
OracleCommand cmdGetApplicantPK = new OracleCommand(getApplicantPK , oraCon);
cmdGetApplicantPK .Parameters.Add(new OracleParameter("identitycard", identitycard));
cmdGetApplicantPK .Parameters.Add(new OracleParameter("email", email));
OracleDataReader dr_GetApplicantPK = cmdGetApplicantPK .ExecuteReader();
if (dr_GetApplicantPK.HasRows)
{
dr_GetApplicantPK.Read();
string applicantFK = dr_GetApplicantPK["APPLICANT_PK"].ToString();
//Insert applicant_fk and password into table HR_USERID
string insertUserID = "INSERT INTO HR_USERID (APPLICANT_FK, PASSWORD, DATE_CREATE)" +
"VALUES (:applicantFK, :password, SYSDATE)";
OracleCommand cmdInsertUserID = new OracleCommand(insertUserID, oraCon);
cmdInsertUserID.Parameters.Add(new OracleParameter("applicantFK", applicantFK));
cmdInsertUserID.Parameters.Add(new OracleParameter("password", password));
cmdInsertUserID.ExecuteOracleScalar();
//Insert name into table HR_INFO
string insertInfo = "INSERT INTO HR_INFO(APPLICANT_FK, FULLNAME, DATE_CREATE)" +
"VALUES (:applicantFK, :fullname, SYSDATE)";
oraCon.Open();
OracleCommand cmdInsertInfo = new OracleCommand(insertInfo, oraCon);
cmdInsertInfo .Parameters.Add(new OracleParameter("applicantFK", applicantFK));
cmdInsertInfo .Parameters.Add(new OracleParameter("fullname", fullname));
cmdInsertInfo .ExecuteOracleScalar();
}
dr_GetApplicantPK.Close();
oraCon.Close();