对于第1个问题,是不能实现的,在SQL中是不存在第几个记录中,也没有必要在某个地方插入,C#中你可以对dataGrid或DataSet.Tables排序(无须代码,设置属性即可),新增加的内容自然会到相应的位置去,如果你实在想在某位置插入记录,只另外增加一个字段,对该字段排序,设置新添加内容的该字段值。
第2个问题实际上和第1个一样,你可以用select top 10 * from yourTable where……来读取满足条件的前10条记录,至于后续的就无能为力了,只有读入20条再减去前面的十条。

解决方案 »

  1.   

    第二个问题应该是datagrid的分页问题,
    如果单就是sql语句实现每十条每十条一读的话。也是可以做到的。。
    写一个存储过程就搞定了
    select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
    select * from #temp where ID_Num between @i*10 and (@i+1)*10//@i是页数
      

  2.   

    thanks reply
    对于gatr兄第二个问题的回答,我有这样的新问题:表的记录是成千上万个,但是读出记录只有十个,要求记录不要重复。那么,要是用删除的方法是不是太耗资源了,而且表是放在服务端,可能有很多客户端来访问。
      

  3.   

    第二个要求记录不重复,就在sql语句中加上distinct呀。
    不过可能会比较慢点。。
    然后再加上IDENTITY(int, 1,1) AS ID_Num字段。后面一样的。。