oracle c#如何用变量绑定变量

时间:2015-03-31 17:08:57

标签: c# .net oracle

我有这个查询

 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 个答案:

答案 0 :(得分: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 :(得分: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 + "%");