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

DataView有没有方法能使用Sql的top方法返回指定的条数信息!100分

如题请解答谢谢! --------------------编程问答-------------------- 请教高手谢谢! --------------------编程问答-------------------- Lz:换个思路:
      你在数据查询出来,再绑定到DataView,不就知道了。。。。 --------------------编程问答-------------------- 不成我的dv里的数据是市政个表的数据!请教有没有方法来实现谢谢! --------------------编程问答-------------------- 用Sql在DataView是不可能的事了,不过你可以通过类似如下循环的方法来得到数据:
用循环的方法:

for (int i = 0;i<top;i++)
{
     //读出DataView的第i个数据:dataView[i];
     //或读出Dataview的第i个数据所对的DataRow:dataView[i].Row
}
--------------------编程问答-------------------- 直接写个Select语句查询数据库即可 --------------------编程问答-------------------- 不过用DataView的方便只处是用它的过滤的方法:
dataView.RowFilter = "条件"
--------------------编程问答-------------------- 急啊就没有高手能提供各方法吗?
--------------------编程问答-------------------- 有条件的话最好是用  dataView.RowFilter = "字段名+条件"  

另外就试试控制GridView的行数(不分页) --------------------编程问答-------------------- 是不是要得到DataView经过筛选后的记录条数呢?
如果是,那就简单了:
int GetRecordCount(DataView dv)
{
IEnumerator ie=dv.GetEnumerator();
int cnt=0;
while(ie.MoveNext())
cnt++;
return cnt;
} --------------------编程问答-------------------- 没有这种方法,这个问题我在一年前就问过。
我感觉这就是DataView的一个缺陷。 --------------------编程问答-------------------- TO: lovevsnet(编程一把手) ( ) 信誉:100    Blog 
int GetRecordCount(DataView dv)
{
IEnumerator ie=dv.GetEnumerator();
int cnt=0;
while(ie.MoveNext())
cnt++;
return cnt;
}
-----------------------

dataView不就有一个Count的属性吗?
DataView.Count 属性 
在应用 RowFilter 和 RowStateFilter 之后,获取 DataView 中记录的数量。 

--------------------编程问答-------------------- 2.0中的dataadapter的fill方法倒是可以指定你需要的从第几行到第几行的记录
dataview就不知道了... --------------------编程问答-------------------- 当然还有一个方法,就是先得到DataView.DataTable,然后由
DataRow[] dr=DataTable.Select("DataView中filter的条件");
dr.Length就是记录条数 --------------------编程问答-------------------- 仔细看LZ的题意好象是要得到DataView的前N条记录吧,哈哈,这个偶会一点点,对了,我第一个发贴是多此一举了,没看到DataView的Count.
代码如下:
private DataTable DataView_Copy_To_DataTable(DataView dv,int count)//取得DataView的前条count记录
{
DataTable dt=dv.Table.Clone();
IEnumerator ie=dv.GetEnumerator();
int i=0;
while(ie.MoveNext()&&i++<count)
{
DataRowView drv=(DataRowView)ie.Current;
DataRow dr=dt.NewRow();
dr.ItemArray=drv.Row.ItemArray;
dt.Rows.Add(dr);
}
return dt;
相信以上代码对很多朋友有用,有的人认为DataView有很多缺陷,其实就是因为不懂得好好使用造成的,我觉得它功能不错

}
--------------------编程问答-------------------- 不行的, 
因为dataview筛选的话只能通过condition 来筛选,而top是用在select后的,所以不能实现
除非把dataview里的数据重新组装。 --------------------编程问答-------------------- select count(*) as total where 条件   (total就是你要的条数)
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,