DataTable.DefaultView.RowFilter 过滤两个条件的连接方法

急啊!!使用RowFilter过滤DataTable先看代码if(strAccountNameKey!=""){sb+="usernameLIKE'%"+strAccou... 急啊!!
使用RowFilter 过滤DataTable 先看代码

if (strAccountNameKey != "")
{
sb += " username LIKE '%"+strAccountNameKey+"%' ";
}

string strRealName = PageValidate.ReplaceStr(txtRealName.Text.Trim());//按姓名搜索
if (strRealName != "")
{
sb +=" and truename LIKE '%"+strRealName+"%'";
}

dds.Tables["a"].DefaultView.RowFilter = sb.ToString();

我把两个条件中间的连接处 用 and ,&&,和 ","都试过了,老是报缺少操作数,请问我要想根据这两个方法进行过滤,到底要怎么写啊?
展开
 我来答
LifeRushing
2011-04-14 · TA获得超过786个赞
知道小有建树答主
回答量:861
采纳率:0%
帮助的人:507万
展开全部
你这里有个bug。
如果strAccountNameKey=="",而strRealName!=""时那么你的代码就有问题了
变成sb =" and truename LIKE '%"+strRealName+"%'";
那么你执行时肯定就会出错因为你的RowFilter="and ......"那样就不对
你调试一下是不是这样,祝你好运!
zhiyinmmm
2015-11-13 · TA获得超过2603个赞
知道小有建树答主
回答量:646
采纳率:75%
帮助的人:89.4万
展开全部
如果strAccountNameKey=="",而strRealName!=""时那么你的代码就有问题了
要变成变成sb =" and truename LIKE '%"+strRealName+"%'"
具体代码如下:
if (strAccountNameKey != "")
{
sb += " username LIKE '%"+strAccountNameKey+"%' ";
}
string strRealName = PageValidate.ReplaceStr(txtRealName.Text.Trim());//按姓名搜索
if (strRealName != "")
{
sb +=" and truename LIKE '%"+strRealName+"%'";
}
dds.Tables["a"].DefaultView.RowFilter = sb.ToString();
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-04-14 · TA获得超过109个赞
知道答主
回答量:103
采纳率:100%
帮助的人:58.5万
展开全部
sb 是不是少写了where啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式