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

ObjectDataSource如何获取总记录数

在网上看到很多ObjectDataSource自定义的分页代码,
不知道如何才能获取ObjectDataSource的SelectCountMethod设置的方法查询数据表的总记录数? --------------------编程问答-------------------- 存储过程中用输出型参数计算输出,逻辑层的方法用out类型参数输出 !! --------------------编程问答-------------------- 如何实现呢?有没有简单的例子? --------------------编程问答-------------------- 手头还真没有现成的例子,好久没写了,这只提供个思路,你Google一下,或等其它高手帮讨论一下~ --------------------编程问答-------------------- ADO.NET 直接通过Sql的 select count(*) from tab 来查询结果。

--------------------编程问答--------------------
引用 4 楼 fangxinggood 的回复:
ADO.NET 直接通过Sql的 select count(*) from tab 来查询结果。

sql语句的写法我知道,我在问ObjectDataSource如何获取 --------------------编程问答-------------------- ObjectDataSource 还不是要写 sql 。。。

http://www.cnblogs.com/mqingqing123/archive/2006/04/20/379710.html --------------------编程问答-------------------- ObjectDataSource的功能本身只是返回任意对象(特别是自定义类型,例如可以把“总记录数、某个片段记录”两字段封装到一个对象中),ObjectDataSource的功能本身的重点是为绑定控件与底层数据中间插入中间件层次,而查询数据库的问题,你该如何查询就如何查询,你完全可以在SelectCountMethod属性所对应的BLL方法中先去用
return 100;
语句返回一个假数据,来调试高层次的界面代码。等调试通过,再重构底层这种完全与ObjectDataSource无关的所谓数据库查询代码。
--------------------编程问答-------------------- 也҉许҉你҉不҉习҉惯҉,҉但҉是҉其҉实҉那҉才҉是҉真҉正҉的҉分҉层҉迭҉代҉式҉开҉发҉,҉使҉用҉逐҉步҉逼҉近҉的҉开҉发҉方҉式҉,҉而҉不҉是҉从҉一҉开҉始҉就҉纠҉结҉于҉最҉终҉结҉果҉:҉

1. 首先在“ObjectDataSource的SelectCountMethod设置的方法”中写 return 1000, 然后就不纠缠底层而调试高层。
2. 然后重构“ObjectDataSource的SelectCountMethod设置的方法”中的代码,使其访问数据库查询真实结果。
3. 然后再次重构同一个BLL方法中的代码,使用数据缓存技术,使得重复查询sql时直接返回结果而不用访问数据库。 --------------------编程问答-------------------- sp1234说得很好,可是我看不懂 --------------------编程问答--------------------   完整的代码和例子
http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.objectdatasource.selectcountmethod.aspx

http://www.codeproject.com/Articles/42043/Optimized-Paging-and-Sorting-using-Object-Data-Sou --------------------编程问答--------------------
引用 10 楼 net_lover 的回复:
完整的代码和例子
http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.objectdatasource.selectcountmethod.aspx

http://www.codeproject.com/Articles/42043/Optimized-Paging-and-Sorting-using-Obje……

我看看 --------------------编程问答-------------------- http://blog.csdn.net/lyshrine/article/details/6820609

我觉得这个不错 --------------------编程问答-------------------- objectdatasource的selected事件
测试这个,然后推一下。

DataTable dt = (DataTable)e.ReturnValue;
          if (dt == null)
         {
             LabelNum.Text = "0";
         }
         else
         {
             LabelNum.Text = dt.Rows.Count.ToString();
         }
 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,