oracle c # как связать переменную с лайком

1

У меня есть этот запрос

 string query = "SELECT * from IMALSO3.V_BN_IVR_ACCT_BAL_MNO WHERE PHONENO Like '%':mobileNumber";

                    using (OracleCommand cmd = new OracleCommand(query, conn))
                    {
                        cmd.Parameters.Add("mobileNumber", phone8Digits);

но кажется, что я неправ,

Каков правильный путь?

благодаря

Теги:

2 ответа

3
Лучший ответ

Вы должны удалить апостроф, и поставить подстановочный маркер % в стоимость сам, а не в строку запроса:

string query = "SELECT * from IMALSO3.V_BN_IVR_ACCT_BAL_MNO WHERE PHONENO Like :mobileNumber";

using (OracleCommand cmd = new OracleCommand(query, conn)) {
    cmd.Parameters.Add("mobileNumber", "%"+phone8Digits);
    ....
}
1

Удалите '%' из текста команды и передайте его при добавлении параметра, например:

string query = "SELECT * from IMALSO3.V_BN_IVR_ACCT_BAL_MNO WHERE PHONENO Like :mobileNumber";
using (OracleCommand cmd = new OracleCommand(query, conn))
{
   cmd.Parameters.Add("mobileNumber", "%" + phone8Digits);

Если вы хотите сравнить phone8Digits вроде содержит, то используйте:

 cmd.Parameters.Add("mobileNumber", "%" + phone8Digits + "%");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню