2015-03-31 32 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 + "%");