2015-03-31 2 views
1

У меня есть этот запрос,оракул C#, как связать переменную с как

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); 

но мне кажется, что я неправильно связывании,

, что это правильный путь Plase?

благодаря

ответ

2

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

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 + "%"); 
Смежные вопросы