Вставить данные в oracle базу данных asp.net - PullRequest
0 голосов
/ 17 марта 2020

В настоящее время я работаю над страницей регистрации, где она запрашивает электронную почту, пароль, подсказку к паролю, полное имя и идентификационный номер карты. У меня есть 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...