当前位置:编程学习 > C#/ASP.NET >>

求助SQL模糊查询的问题


        public IQueryable<QM_AJXX> GetQM_AJXX()
        {
            return this.ObjectContext.QM_AJXX;
        }
         public IQueryable<QM_AJXX> QM_AJXXByKey(String key)
        {
            string queryString =
           @"SELECT EMP_BLOCK QM_AJXXes FROM user-71003512ec.QM_AJK.AJXX 
                AS QM_AJXXes WHERE EMP_BLOCK like '%@key%'";
   
            var query = ObjectContext.CreateQuery<QM_AJXX>(queryString, new ObjectParameter("key", key));

            //return this.ObjectContext.QM_AJXX;
            return query;
        }


想要对block字段进行模糊查询 执行的时候提示query for QM_AJXXByKey查询方法无效
希望哪位高人不吝赐教! --------------------编程问答-------------------- EMP_BLOCK QM_AJXXes这是一个还是两他字段,两个的话得用 , 号啊 --------------------编程问答-------------------- SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下: 
1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。 
2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。 
3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。 
4、LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。 
5、LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。 
6、LIKE'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。 
7、LIKE'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。 
--------------------编程问答--------------------
引用 1 楼 yangyalin8425 的回复:
EMP_BLOCK QM_AJXXes这是一个还是两他字段,两个的话得用 , 号啊
 
QMAJXXes是表名 block是要查询的字段 这段是仿照CreatQuery方法的F1帮助信息写的,所以写的挺迷糊的T.T --------------------编程问答-------------------- try

            string queryString ="SELECT EMP_BLOCK QM_AJXXes FROM [user-71003512ec.QM_AJK.AJXX] AS QM_AJXXes WHERE EMP_BLOCK like '%'+@key+'%'";
--------------------编程问答-------------------- 如果是表名的话那应该是
@"SELECT EMP_BLOCK FROM user-71003512ec.QM_AJK.AJXX 
                AS QM_AJXXes WHERE EMP_BLOCK like '%@key%'";
   
--------------------编程问答-------------------- 楼主前面完全没错!~》。EMP_BLOCK 是列名!~QM_AJXXes 是别名!~。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,