ORA-00936: отсутствует ошибка выражения из моего метода ниже
пожалуйста, помогите устранить это сообщение об ошибке.
я предполагаю, что проблема может быть связана с параметром, который я передаю в запросе oracle.
пожалуйста, просто помогите разобраться и посмотреть, что я делаю неправильно.
спасибо
Что я уже пробовал:
public string getEMails(string staffid)
{
используя (объекта oracleconnection OracleConn = нового объекта oracleconnection(или))
{
OracleConn.Открыть();
пробовать
{
query = "ВЫБЕРИТЕ uetc.team_codes, LPAD (papf.employee_number, 5, 0) staff_id, papf.full_name full_name, papf.email_address, LPAD (papf1.employee_number, 5, 0) supervisor_id, papf1.full_name_address_papf1.full_name, papf1.full_name, papf1.email_name супервизора" hl.location_code, SUBSTR (hl.location_code, 1, 3) branch_code, SUBSTR (hl.location_code, 6) branch_name, hl.loc_information15 имя_региона, hl.loc_information14 имя_зоны FROM per_all_people_f papf, per_all_assignments_frjobs papf, per_all_assignments_frjobs papf, per_all_assignments_frjobs papf , hr_all_organization_units haou, per_all_people_f papf1, per_all_assignments_f paaf1, per_grades PG1, per_jobs PJ1, hr_locations_all HL1, hr_all_organization_units haou1, ub_emp_team_codes_new uetc ГДЕ papf.person_id = paaf.person_id И papf.current_employee_flag = 'Y' И SYSDATE МЕЖДУ papf.effective_start_date И papf.effective_end_date И paaf.primary_flag = 'Y' И papf.employee_number <7000 И papf.employee_number <> 00000 И SYSDATE МЕЖДУ paaf.effective_start_date И paaf.ef fective_end_date И paaf.grade_id = pg.grade_id (+) И paaf.job_id = pj.job_id (+) И paaf.location_id = hl.location_id (+) И paaf.organization_id = haou.organization_id (+) AND paaf.supervisor_id = papf1.person_id (+) И papf1.person_id = paaf1.person_id (+) И papf1.current_employee_flag (+) = 'Y' И ДАТА СИНХРОНИЗАЦИИ МЕЖДУ papf1.effective_start_date (+) И papf1.effective_end_date (+) ) = 'Y' И SYSDATE МЕЖДУ paaf1.effective_start_date (+) AND paaf1.effective_end_date (+) И paaf1.grade_id = pg1.grade_id (+) И paaf1.job_id = pj1.job_id (+) И paaf1.location_id = hl1. location_id (+) И paaf1.organization_id = haou1.organization_id (+) И papf.person_id = uetc.person_id (+) И uetc.person_id (+) = papf.person_id И papf.employee_number = @staff_id ";
OracleCommand OraC = new OracleCommand(query, OracleConn);
OraC.CommandType = CommandType. Text;
Орак.Параметры.Добавить(новый OracleParameter("@staff_id", OracleDbType.Varchar2)).Значение = staffid;
// OraC.Parameters.Добавить(новый OracleParameter("идентификатора session_id", OracleDbType.Varchar2)).Значение = Код Сеанса;
// OraC.Parameters.Добавить (новый OracleParameter("V_RESULT", OracleDbType.Varchar2, 32767)).Направление = ParameterDirection.Выход;
//OracleDataReader dr = OraC. ExecuteNonQuery();
OracleDataReader dr = OraC. ExecuteReader();
в то время как (dr. Read())
{
SupervisorEmail = dr ["EMAIL_ADDRESS_1"]. ToString();
StaffEmail = dr ["EMAIL_ADDRESS"].Метод toString();
string id = dr ["STAFF_ID"].Метод toString();
}
}
поймать (исключение бывший)
{
например, сообщение.Метод toString();
}
наконец
{
OracleConn.Рядом();
}
возвращение супервайзера;
//возврат StaffEmail;
}
}