CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

如何取出数据库中的记录

楼主ctimtide()2005-07-19 09:17:54 在 .NET技术 / ASP.NET 提问

我想从数据库中取出第10条和第20条之间的10条记录(这里说的第10条和第20条指的不是id序号,而是单纯的记录在数据库中所处的位置),但是由于过去删除记录的原因,这些记录的id序号并不连续,请问这个问题如何才能解决。  
          另:除了每次删除时对id进行update,有什么方法可以在删除记录时使得id序号自动变的连续呢 问题点数:20、回复次数:11Top

1 楼net_lover(【孟子E章】)回复于 2005-07-19 09:21:22 得分 0

数据库的记录位置没有任何意义Top

2 楼fphuang(人在哈尔滨·四月)回复于 2005-07-19 09:26:45 得分 20

string   s   ="Select   top   20   *   from   tb   where   not   exists   (select   top   10   *   from   tb);Top

3 楼ctimtide()回复于 2005-07-19 09:27:29 得分 0

那么请问如何能够取出记录呢Top

4 楼godgirl()回复于 2005-07-19 09:30:05 得分 0

我是新人我想是不是执行string   s   ="Select   top   20   *   from   tb   where   not   exists   (select   top   10   *   from   tb);  
  语句后把数据添加到DATASET中就可以取出记录了?Top

5 楼jimu8130(火箭的未来在哪里?)回复于 2005-07-19 10:29:58 得分 0

对你最后一个问题,你想过没有如果你更改id号的同时正好有个人查询这条记录并修改ing,你提交后他再提交这样会出现问题,当然你可以用锁的机制,但是如果这样的工作频繁的作就不好。不过这个可以由触发器完成,或者你指定一个专门时间,这个时间停止别人访问数据库,而你就重新生成这些id号Top

6 楼DRRDRRDRR(寂静深秋)回复于 2005-07-19 10:42:03 得分 0

这样无意义Top

7 楼ctimtide()回复于 2005-07-19 21:27:19 得分 0

用fphuang(笨牛@net)   的方法,我做如下修改:  
  string   str="select   top   "+Convert.ToString(15+15*index1)+"   *   from   production   where   not   exist(select   top   "+Convert.ToString(15*index1)+"   id   from   production   )";  
  OleDbDataAdapter   da=new   OleDbDataAdapter(str,oleDbConnection1);  
  OleDbCommand   cmd=da.SelectCommand;  
  oleDbConnection1.Open();  
  int   i=cmd.ExecuteNonQuery();  
  Response.Write(i.ToString());  
  但结果显示所选择的记录条数为0(在这里index1=1),但我的数据库中存在18条记录,按说应该显示3条记录,大家看看这是为什么Top

8 楼ctimtide()回复于 2005-07-19 21:57:10 得分 0

upTop

9 楼zeusvenus()回复于 2005-07-19 22:20:49 得分 0

第一个存放的位置确实没什么意义,在你的数据库配置、环境设置等影响下每个top20可能是不一样的,一般采取加id列来定义前后然后order一下就行了。  
  第二个问题这样确实有稳定方面的隐患,写个触发器让从1开始调用序列(如为ORACLE)或增量种子(如为SQLSERVER)的值并增加。Top

10 楼shan1119(大天使,卐~解!)回复于 2005-07-19 22:22:08 得分 0

不知道Top

11 楼ctimtide()回复于 2005-07-20 10:04:20 得分 0

upTop

相关问题

  • Delphi中如何取出数据库的当前记录?
  • 如何把数据库的记录分条读取出来?
  • 如何从数据库表中取出前n条记录?
  • 如何取出已删除但尚未在数据库提交的记录
  • 如何最快取出数据库表中本季度的记录?
  • 如何从数据库中高效的取出需要的记录?
  • 请教如何判断从数据库中取出的记录为空啊
  • 如何把从数据库中取出的记录放在pdownlistbox里面啊?
  • 请问,如何取出数据库中符合条件的第i条记录???
  • 简单问题:如何把数据库中的记录按时间降序取出来显示?在线等待!!

关键词

  • 数据库
  • top
  • 记录
  • 取出
  • 序号
  • 删除
  • 意义
  • 位置
  • 问题
  • select top

得分解答快速导航

  • 帖主:ctimtide
  • fphuang

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo