似乎是很浪费效率,但是既然微软提出使用dataset,应该会进行相关优化,使支持更好吧
解决方案 »
- .NET如何开发一个.ocx或dll用来下载文件提供给其他程序调用,兄弟们,提供一些方法或代码
- 怎样通过程序发送一个asp.net错误?
- 关于GridView的跨列跨行显示
- 如何在gridview中插入style如下?
- 数据绑定显示问题
- https 重定向问题
- ★★★★★ASP.NET调用ActiveX的问题,马上给分★★★★★
- 急:asp.net html标签 调用后台方法
- 请高手帮助解决这个问题!
- 新手求教:一个搜索功能 调试说在DataAdapter.Fill()方法那错误 代码请进来看 谢谢帮忙!
- 这个函数操作的是一个二维表吗?它在做什么??
- 定义类似interface IAccount的接口有什么用?直接创建类的实例来调用方法不是更好吗?为什么要定义接口,它的好处是什么?
mail address?
1000用户问题是不存在的SQL也只支持2000多个线程连接.而且是没用户一线程
DATASET是在客户端的你知道就好
附DataGrid用存储过程分页代码
--
--当direct=0时,从@Row向前取@Rows行记录(不包括@Row行)
--当direct<>0时,从@Row向后取@Rows行记录(不包括@Row行)
--
ALTER PROCEDURE Z_Page(@ROWS int,
@Row int,
@direct bit=1)
AS
DECLARE @rowCount int, @TID int, @CID int,@Cnt nchar(16)
DECLARE @tmpTable Table(PKID int PRIMARY KEY,ParentID int,Name nchar(16))
DECLARE Trade_Cursor SCROLL CURSOR FOR
SELECT PKID, ParentID, Name
FROM SubjectWordLibrary
ORDER BY PKID
--
if(@Row>(select count(PKID) from SubjectWordLibrary)+1)
set @Row=(select count(PKID) from SubjectWordLibrary)+1
if(@Row<0)
set @Row=0
if(@Direct=0)
begin
if(@Rows>@Row-1)
set @Rows=@Row-1
end
else
begin
if (@Rows>(select count(PKID) from SubjectWordLibrary)-@Row)
set @Rows=(select count(PKID) from SubjectWordLibrary)-@Row
end
--
set @rowCount=1
OPEN Trade_Cursor
While @rowCount<=@ROWS
BEGIN
if (@direct=0)
set @Row=@Row-1
else
set @Row=@Row+1
Begin
FETCH ABSOLUTE @Row FROM Trade_Cursor
INTO @TID,@CID,@Cnt
While @@Fetch_Status<>0
break
Insert into @tmpTable values(@TID,@CID,@Cnt)
set @rowCount=@rowCount+1
End
END
CLOSE Trade_Cursor
DEALLOCATE Trade_Cursor
SELECT * FROM @tmpTable ORDER BY PKID
RETURN
GOprivate void DataBoundTradeList(string cmmd)
{
try
{
this.currentPageIndex=(int)ViewState["CurrentPageIndex"];
object[] v=new object[3];
v[0]=pageSize;
switch(cmmd)
{
case "Provious":
this.currentPageIndex --;
v[1]=this.currentPageIndex*pageSize+1;
v[2]=0;
break;
case "Next":
v[1]=this.currentPageIndex*pageSize;
v[2]=1;
this.currentPageIndex++;
break;
default:
this.currentPageIndex=1;
v[1]=0;
v[2]=1;
break;
}
this.BuildTMDataSet(v);
}
catch(Exception e)
{
Page.Response.Write("<p>BuildDataSet:" +e.Message+"</p>");
}
finally
{
ViewState["CurrentPageIndex"]=this.currentPageIndex;
this.dlstTrade.DataSource=this.TMds.Tables[0].DefaultView;
this.dlstTrade.DataKeyField="TradeMarkID";
this.dlstTrade.DataBind();
}
}