<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Microsoft .Net论坛最新讨论 - JavaEye</title>
    <description>微软软件开发技术讨论区: dotnet, C#, VB.net, VC<br/>
圈子: 
<a href="http://dotnetcs.group.javaeye.com/" target="_blank">ASP.net</a>
 - Java编程，Ruby编程，微软.net，AJAX，敏捷软件开发，综合软件技术</description>
    <link>http://www.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>SQL Server 存储过程的经典分页</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://niceo.javaeye.com">niceo</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/230211" style="color:red;">http://www.javaeye.com/topic/230211</a>&nbsp;
          发表时间: 2008年08月19日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          创建表<br /><br />CREATE TABLE [TestTable] ( <br />[ID] [int] IDENTITY (1, 1) NOT NULL , <br />[FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL , <br />[LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL , <br />[Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , <br />[Note] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL <br />) ON [PRIMARY] <br />GO <br /><br /><br />插入数据：(2万条，用更多的数据测试会明显一些) <br /><br />SET IDENTITY_INSERT TestTable ON <br /><br />declare @i int <br />set @i=1 <br />while @i&lt;=20000 <br />begin <br />insert into TestTable([id], FirstName, LastName, Country,Note) values(@i, ''FirstName_XXX'',''LastName_XXX'',''Country_XXX'',''Note_XXX'') <br />set @i=@i+1 <br />end <br /><br />SET IDENTITY_INSERT TestTable OFF <br />---------------------------------------------------------------------<br />分页方案一：(利用Not In和SELECT TOP分页) <br />语句形式：<br /><br />SELECT TOP 10 * <br />FROM TestTable <br />WHERE (ID NOT IN <br />(SELECT TOP 20 id <br />FROM TestTable <br />ORDER BY id)) <br />ORDER BY ID <br /><br /><br />SELECT TOP 页大小 * <br />FROM TestTable <br />WHERE (ID NOT IN <br />(SELECT TOP 页大小*页数 id <br />FROM 表 <br />ORDER BY id)) <br />ORDER BY ID <br /><br />-----------------------------------------------------------------------<br /><br />分页方案二：(利用ID大于多少和SELECT TOP分页） <br />语句形式： <br /><br />SELECT TOP 10 * <br />FROM TestTable <br />WHERE (ID > <br />(SELECT MAX(id) <br />FROM (SELECT TOP 20 id <br />FROM TestTable <br />ORDER BY id) AS T)) <br />ORDER BY ID <br /><br /><br />SELECT TOP 页大小 * <br />FROM TestTable <br />WHERE (ID > <br />(SELECT MAX(id) <br />FROM (SELECT TOP 页大小*页数 id <br />FROM 表 <br />ORDER BY id) AS T)) <br />ORDER BY ID <br />---------------------------------------------------------------------------<br /><br />分页方案三：(利用SQL的游标存储过程分页) <br /><br />create procedure XiaoZhengGe <br />@sqlstr nvarchar(4000), --查询字符串 <br />@currentpage int, --第N页 <br />@pagesize int --每页行数 <br />as <br />set nocount on <br />declare @P1 int, --P1是游标的id <br />@rowcount int <br />exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output <br />select ceiling(1.0*@rowcount/@pagesize) as 总页数--,@rowcount as 总行数,@currentpage as 当前页 <br />set @currentpage=(@currentpage-1)*@pagesize+1 <br />exec sp_cursorfetch @P1,16,@currentpage,@pagesize <br />exec sp_cursorclose @P1 <br />set nocount off <br />-----------------------------------------------------------------------<br />其它的方案：如果没有主键，可以用临时表，也可以用方案三做，但是效率会低。<br />在实际情况中，要具体分析。
          <br/>
          <span style="color:red;">
            <a href="http://cpp-circle.group.javaeye.com/topic/230211#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 19 Aug 2008 17:21:52 +0800</pubDate>
        <link>http://www.javaeye.com/topic/230211</link>
        <guid>http://www.javaeye.com/topic/230211</guid>
      </item>
      <item>
        <title>C# XML处理时的错误</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jacken-wang.javaeye.com">Jacken_wang</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/230188" style="color:red;">http://www.javaeye.com/topic/230188</a>&nbsp;
          发表时间: 2008年08月19日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          今天在写一个处理XML文件的程序的时候，碰到一个很棘手的问题，具体的错误描述如下：<br />System.Xml.XmlException:<br />  The data at the root level is invalid. Line 1, position 1.<br /><br />   网上查了一些资料，均是说XML有错，然而我仔细的检查之后，我的xml文件定义的是正确的，非常的纳闷，于是重新的看自己的代码，发现在加载xml文件的时候我用了document.loadXml() 这个方法，查了MSDN，才晓得还有一个方法document.load()换了后者之后再试，发现程序运行成功，原来仅仅只是这样的一个小小的误差！巨汗<img src="/images/smiles/icon_sad.gif"/>。。。
          <br/>
          <span style="color:red;">
            <a href="http://cpp-circle.group.javaeye.com/topic/230188#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 19 Aug 2008 16:18:46 +0800</pubDate>
        <link>http://www.javaeye.com/topic/230188</link>
        <guid>http://www.javaeye.com/topic/230188</guid>
      </item>
  </channel>
</rss>
