我有这个查询
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);
但似乎我绑定错了,
正确的方法是什么?
感谢
答案 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 + "%");