收录日期:2020/04/07 10:58:02 时间:2016/07/25 21:53:15 标签:LINQ
我想在user.cs文件中写个方法,方法两个参数,一是查询条件,二是排序字段,根据传入参数实现条件查询,如下:

 public ArrayList WhereFilter(string whereFilter, string orderstr)
         {
             popsideDataContext pDC = new popsideDataContext();
             ArrayList inof = null;
             try
             {
                 var source = from d in pDC.si_new_user where whereFilter select d;
                 if (orderstr.Length != 0)
                 {
                     source = from d in pDC.si_new_user where whereFilter orderby orderstr select d;
                 }
                 inof = ArrayList.Adapter(source.ToList());
             }
             catch
             {

             }
             return inof;

调用时user se = new user();
        ArrayList al = se.WhereFilter("username='" + username + "'and password='" + Discuz.Common.Utils.MD5(pwd.Trim()) + "'", "");
可是这样会提示无法将参数whereFilter从string类型转换成bool类型。有没有好的办法能实现这样的功能,请大侠赐教。
你的WhereFilter是个字符串,而你这边是属于语句,这样拼肯定不行的啊,我不太了解linq,你可以换种方式执行,看有没有可以直接执行linq的函数或者什么
SQL 语句的问题。。。你断点一下你的sql 语句。。。我估计是 你where 条件后面的sql 写错了。。。或者是   挤到一起了
引用 2 楼 lxl_sports 的回复:
SQL 语句的问题。。。你断点一下你的sql 语句。。。我估计是 你where 条件后面的sql 写错了。。。或者是 挤到一起了

这个我确定不是sql语句的问题,确实是因为参数是string类型,而linq查询条件不能把字符串转换成查询语句。应该怎么改呢,其他方法也行,但是必须实现查询条件是参数传进来可变的。
还有 就是   你的用的是linq  那么这是一个  动态的语句  你却用字符串连接  肯定是不行的。。。
就比如:你在sql 中用了一个   字符串拼接一样。。。
declare @sql varchar(100)
set @sql='select * from tableName'  那么现在这个sql 就成了  字符串了 就不是   t-sql 语句了
那么要执行这个就要  用内部的 存储过程来执行了 exec (@sql)
用linq to sql

ctx.ExecuteQuery<T>(string strsql) 
这句话转换过来  就可以了  你直接可以在里面传 字符串的sql 语句。。。那么条件你就可以随便给了
引用 4 楼 lxl_sports 的回复:
还有 就是 你的用的是linq 那么这是一个 动态的语句 你却用字符串连接 肯定是不行的。。。
就比如:你在sql 中用了一个 字符串拼接一样。。。
declare @sql varchar(100)
set @sql='select * from tableName' 那么现在这个sql 就成了 字符串了 就不是 t-sql 语句了
那么要执行这个就要 用内部的 存储过程来执行了 exe……

你的意思我明白,我也知道确实这样做不行,可是要实现这样的功能要怎么改呢?

Panel的现实问题 那位可以提供一份多客户端的资料参考一下,主要是数据传送的处理。 请问delphi7有没有汉化的帮助? 高分求解!如何实现象borland C++ builder ide一样的界面。 绝对最短的带色笑话!!! 关于javascript的trim(); excel合并单元格问题 修改LIB文件后,重新编译出错 在上海何地可以买到程序员杂志啊 请教:我的局域网能打开网页和QQ,就是上不去中游大厅,有什么办法? 弱弱的问一个问题:怎样使对话框右上角的关闭按钮无效。(即屏蔽该按钮)……………………谢谢了! 组件/控件开发版开张 Jsp页面中如何调用Javascript的方法~~~ 谁有<Windows网络编程>电子书 java技术教程(基础篇)的问题 申请C++版块斑竹 100分求mq发送和接收文件的java代码或者实例 <<<<<<<<<<免费skype插件发布,散分1000 大家觉得直接在广州电信托管1U 7000RMB/年算不算贵 主 题: string变量下标访问是从0开始还是从1开始的? 怎样用VBA设置word文档的文件属性? 美国一市长收入入不敷出,为脱衣舞厅看门赚钱(SOHU转贴) Oracle 9.2.0 是什么样的版本?和9.0.1有什么区别? 大家帮忙看看是哪里的错误啊 如何实现同一程序调用不同的资源文件,实现多语言(系统方式)? 请教业务罗辑处理 怎么得到子窗口并将其关闭 [讨论]大家搞asp.net开发美工和排版怎么样 TreeView的事件???????? 客户端连接sourcesafe出现access拒绝错误!!!