您的位置:程序门 -> .net技术 -> c#



datatable.select的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


datatable.select的问题
发表于:2007-01-17 16:51:06 楼主
我现在有一条sql语句:select   top   10   *   from   tablea   where   id   not   in   (select   top   20   id   from   tablea   where   sendername   =   'tom '   )   and   sendername   =   'tom '
其中的tablea   是一个datatable,我想用datatable.select方法来实现,请问该怎么传参数阿,我看第一个参数是filter语句,但是,我想把top   10和where   id   not   in   (select   top   20   id   from   tablea   where   sendername   =   'tom '   )这两个都作为过滤条件,请问该怎么实现,各位大侠指教了!!!
发表于:2007-01-17 16:53:581楼 得分:0
可以用这个datatable的defaultview属性的rowfilter设置过滤条件,这样方便些.
发表于:2007-01-17 17:14:412楼 得分:0
能否详细一些,我这个是实现分页的,所以在defaultview里面过滤的时候是否已经晚了
发表于:2007-01-17 17:44:493楼 得分:0
靠,遇到同样的问题了.我也是别人返回了50条数据,已经放到datatable中,
然后我要对datatable分页.

datatable   dt   =   new   datatable();
dt   =   softlist.clone();//softlist是别人返回的有表结构和50条记录的datatable
int   pi   =   pager.currentpageindex;
int   ps   =   pager.pagesize;
for   (int   i=   (pi-1)*ps;i <pi*ps;i++)
{
                if   (i <softlist.rows.count)
                        dt.importrow(softlist.rows[i]);
}
dgsoftlist.datasource   =   dt.defaultview;//softlist.defaultview;
dgsoftlist.databind();

解决,真麻烦!
发表于:2007-01-17 21:55:464楼 得分:0
我想把top   10和where   id   not   in   (select   top   20   id   from   tablea   where   sendername   =   'tom '   )这两个都作为过滤条件
--------------------
top   10:
datatable   dt   =   new   datatable();

dt   =   getdata();

for(int   i=0;i <10;i++)
{
        string   strtest   =   dt.rows[i][ "列名 "].tostring();
}

select   top   20   id   from   tablea   where   sendername   =   'tom ':
datatable.select( "sendername   = 'tom ' ");

其实,这样的功能用sql实现最好不过了,不必要求肯定要用c#,除非你没有与数据库打交道.
发表于:2007-01-18 11:37:365楼 得分:0
我确实是没用数据库,我用别人的一个服务从活动目录里面读出来的数据,自己拚成一个datatable,所以不能直接用sql实现
发表于:2007-01-18 11:44:216楼 得分:0
datatable.select( "(字段名1= 'abcd ')   and   (字段名2> 1234) ")
发表于:2007-01-18 11:44:467楼 得分:0
在msdn里查xpath   除了位运算以外都支持


快速检索

最新资讯
热门点击