C#中MySQL语句带参数的模糊匹配问题

C#中MySQL语句带参数的模糊匹配问题,第1张

C#中MySQL语句带参数的模糊匹配问题,第2张

我用的是MySQL数据库,但是当我使用带参数的sql语句进行模糊查询时,发现Mysql并不识别我参数中的内容。经过多次实验,终于找到了答案,拿出来和大家分享。我不多说了。具体如下:
public datatable get userlist(string str param 1,string strparam2,string strparam3,string str param 4)
{
StringBuilder sqlContent = new StringBuilder();
ArrayList param list = new ArrayList();
sqlContent。append(" SELECT ");
sqlContent。append(" column 1 ");
sqlContent。Append(",column 2 ");
sqlContent。Append(",column 3 ");
sqlContent。Append(",column 4 ");
sqlContent。append(" FROM ");
sqlContent。append(" tab _ temp ");
sqlContent。Append("其中1 = 1 ");
//确定参数是空还是“
if(!字符串。IsNullOrEmpty(strparam 1))
{
sqlContent。append(" AND column 1 LIKE @ param 1 ");
//Add parameter
param list . Add(new MySQL parameter(" @ param 1," "+str param 1+");
}
if(!字符串。IsNullOrEmpty(strparam 2))
{
sqlContent。append(" AND column 2 LIKE @ param 2 ");
paramList。Add(新MySqlParameter("@param2 "," "+str param 2+" ");
}
if(!字符串。IsNullOrEmpty(strparam 3))
{
sqlContent。append(" AND column 3 LIKE @ param 3 ");
paramList。Add(新MySqlParameter("@param3 "," "+str param 3+" ");
}
if(!字符串。IsNullOrEmpty(strparam 4))
{
sqlContent。append(" AND column 4 LIKE @ param 4 ");
paramList。Add(新MySqlParameter("@param4 "," "+str param 4+" ");
}
try
{
/Get DB link
DB conn . getconnection();
objDT = new DataTable();
//调用DBUtil
objdt = db conn . execute query(sqlconten . tostring()、paramlist)中的查询方法;
}
catch(异常e)
{
throw e;
}
Finally
{
/Close DB link
DB conn . Close connection();
}
return objDT;
}
正确拼写:
sqlcontent . append(" and column 1 like @ param 1 ");
//Add parameter
param list . Add(new MySQL parameter(" @ param 1," "+str param 1+");
拼写错误:
sqlcontent . append(" and column 1 like“% @ param 1%”);
//Add parameter
param list . Add(新的MySQL参数(" @ param1 ",str param 1));

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C#中MySQL语句带参数的模糊匹配问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情