`
huozheleisi
  • 浏览: 1291183 次
文章分类
社区版块
存档分类
最新评论

小心数据集乱套

 
阅读更多

最近帮学校做一个东西,大概两天就弄出来一个,而且今天也上缴了,但是总是觉得有一些担心。突然想测试测试,本来是想测试一下用二分法对数据进行选取的,但是,不知道怎么能得到Last Record And First Record,所以,就想慢慢测试测试,怎么能得到Last And First Record,但是实际中的测试吓一大跳。asp数据集的有可能乱套。

以前,写asp读取数据时,总是用“select * from table”直接选取数据,然后用

If Not Rs.Eof Then

Rs.MoveLast

Do While Not Rs.Bof Then

Response.Write Rs(“ID“)

.....

Loop

End If

简单的说就是用一个循环直接读取数据库所有数据,但是如果数据有几万条的话,速度是可想而知的了,所以想用二分法对数据进行选择显示,但是不知道怎么能得到开始和最后的数据,又想到了Rs.Bof? Rs.Eof 本来是想怎么能得到字段ID的最大值,最小值,然后好比较的,但是实际操作中发现,如果你用下面的东西,不一定得到最大值和最小值:

If Not Rs.BOf Then
Rs.MoveFirst
frsID=Rs("ID")
End If
If Not Rs.Eof Then
Rs.MoveLast
lstID=Rs("ID")
End If
Do While Not Rs.Bof
response.Write "ID is "&rs("ID")&""
rs.Moveprevious
Loop

response.Write "First ID="&frsID&""
Response.Write "Last ID="&lstID&""

显示的frsID=6,lstID=15,可是在显示的全体数据中有一条数据的ID为16,也就是说最大的ID!=lstID(以前我总是认为这个是想等),最后检查发现是sql语句有问题,改成“Select * from Login Order By ID Asc”时,显示:

ID is 16
ID is 15
ID is 14
ID is 13
ID is 12
ID is 11
ID is 10
ID is 8
ID is 7
ID is 6
First ID=6
Last ID=16
将sql换成Select * from Login Order By ID Desc”时,却是:

ID is 6
ID is 7
ID is 8
ID is 10
ID is 11
ID is 12
ID is 13
ID is 14
ID is 15
ID is 16
First ID=16
Last ID=6

这样两个数据的排列完全和sql中要求的不一样(本来是Asc的再显示的时候是Desc,向Desc的现实的确实Asc的),而且显示出来的东西和Login表中数据也完全不一样。

结论:数据的排列完全是靠Sql和RecordSet双方控制的。在你没有对指针记录操作时,指针记录是乱得,最好对数据操作时,先整理一下数据的排列,让它能够按序排列,方便以后操作。


?

分享到:
评论

相关推荐

    解决图标乱套问题希望可以帮助大家

    但请记住,这将删除所有个人文件和应用程序,因此务必在操作前备份重要数据。 在预防图标乱套问题方面,定期更新操作系统和驱动程序,保持良好的电脑维护习惯,避免随意下载不明来源的软件,都能有效减少这类问题的...

    a63822322的解决图标乱套问题的说明

    - 清除`ShellIconCache`文件夹中的缓存数据。 ### 解决方案详解: #### 方法一:使用`grpconv`工具 1. **准备工作**:确保电脑已经启动到安全模式下。 - 安全模式是一种仅加载最基本驱动程序和服务的启动模式,...

    数组&嵌套&自定义数据类型字节集互转-易语言

    不限类型,不限嵌套。 bug1没有修:所有出现的字节集长度必须是4字节倍数,所有出现的文本长度,必须是4字节倍数-1。...bug2不可能修好:当4字节对齐的数据内容,当作整数刚好对应一个分配过的指针的情况下,就会乱套。

    arcgis、flex点面相交relations

    (1)直接使用geometry service的intersect方法做相交,但是这种方式只能一个面一个面的处理,然后循环有的时候顺序会乱套。 (2)就是采用relations做相交关系,这样可以得到有相交情况的数据带对应的面和点,然后...

    85个实用好学的幽默技巧.rar

    目录: Pat1戏语调侃一语言要诙谐时而不着边 ...Part6生拼乱套辑要混乱,孩配要扭 Part7机智回应一国脑要并用,笑语中“暗箭 Part8正理至说一至解要至极,所说能≡圆 Part9巧用语法一用法要灵活文字生谐

    SQL server的事务锁–概念篇

    我们都知道事务是倡导”并发“执行工作的,但如果同时有A和B两个人分别在对方都不知道的情况下,对数据库中的数据进行修改,你改一下,我修一下,那数据库中的数据不就乱套了吗?这时,我们就需要给你想要修改的数据...

    cad设计图之勘探线图

    相关煤炭专业,希望能够呗更多人看到适用,如果有什么问题更希望一起乱套,一起颈部。

    北邮信号与系统课件3

    这是北邮本科的信号与系统课件,以高等教育出版社出版的《信号与系统》(作者:郑君里、应启珩 、 杨为理)第二版为蓝本,由北邮老师制作完成。全套课件详细,完整,是信号与系统学习与考研复习的重要...否则会乱套。

    北邮信号与系统课件2

    这是北邮本科的信号与系统课件,以高等教育出版社出版的《信号与系统》(作者:郑君里、应启珩 、 杨为理)第二版为蓝本,由北邮老师制作完成。全套课件详细,完整,是信号与系统学习与考研复习的重要...否则会乱套。

    从临床视角分析病种分值结算模式下医保基金的医疗监管策略.pdf

    病种分值结算模式是一种医疗保险支付方式,它基于住院病种的历史数据和费用,将各个病种分配相应的分值。这种结算方式旨在实现“以收定支、收支平衡、略有结余”的目标,通过设定每个病种的支付标准,控制医疗机构的...

    浮点数在计算机中存储方式是怎样的

    C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,...

    单片机程序总跑飞?小技巧帮你忙

    其次在主循环中读取中断变量前应该首先关闭全局中断,防止读到一半被中断给修改了,读完之后再打开全局中断,否则出现造成数据乱套。 3 地址溢出,常见错误为指针操作错误 着重说的是数组下标使用循环函数中循环...

    单片机程序死机跑飞六大原因

    单片机程序死机,跑飞了可以...否则出现造成数据乱套。 3. 地址溢出,常见错误为指针操作错误。 我要着重说的是数组下标使用循环函数中循环变量,如果循环变量没控制好则会出现数组下标越界,意外修改系统的寄存器造

    单片机程序死机跑飞原因分析

    单片机程序死机,跑飞了可以从以下几个...否则出现造成数据乱套。  3. 地址溢出,常见错误为指针操作错误。我要着重说的是数组下标使用循环函数中循环变量,如果循环变量没控制好则会出现数组下标越界,意外修改系统

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    基本信息 作者: 臧萌 出版社:清华大学出版社 ISBN:9787302217831 ...12.2.5 接口——让类集多重类型于一身 344 12.2.6 简化recordTransport()方法 347 12.3 再探接口 349 12.3.1 重温上节中的程序 349...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    基本信息 作者: 臧萌 出版社:清华大学出版社 ISBN:9787302217831 ...12.2.5 接口——让类集多重类型于一身 344 12.2.6 简化recordTransport()方法 347 12.3 再探接口 349 12.3.1 重温上节中的程序 349...

    ASUS华硕 P8H61-M LE/CSM R2.0主板BIOS驱动程序下载

    【驱动名称】ASUS华硕P8H61-M LE/CSM R2.0主板BIOS 0405版(2012年7月17日发布) 【驱动描述】此版BIOS主要解决了以下问题: 1.改善系统稳定性; 2.改善内存兼容性。 可用ASUS Update升级工具在Windows下更新,选择...

    红外条码扫描器的另类使用C#版

    把输入焦点定位到可输入的控件上,一扫描相应的条形码信息就输入到文本框中去了,但是如果没有输入焦点,或另一个不相干的程序获得输入焦点,那就有点乱套了。我想实现的是,不管什么情况,只要扫描器一工作,我的...

Global site tag (gtag.js) - Google Analytics