小心数据集乱套

数据

最近帮学校做一个东西,大概两天就弄出来一个,而且今天也上缴了,但是总是觉得有一些担心。突然想测试测试,本来是想测试一下用二分法对数据进行选取的,但是,不知道怎么能得到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双方控制的。在你没有对指针记录操作时,指针记录是乱得,最好对数据操作时,先整理一下数据的排列,让它能够按序排列,方便以后操作。

时间: 2024-07-29 11:24:43

小心数据集乱套的相关文章

《编写高质量Python代码的59个有效方法》——第17条:在参数上面迭代时,要多加小心

第17条:在参数上面迭代时,要多加小心如果函数接受的参数是个对象列表,那么很有可能要在这个列表上面多次迭代.例如,要分析来美国Texas旅游的人数.假设数据集是由每个城市的游客数量构成的(单位是每年百万人).现在要统计来每个城市旅游的人数,占总游客数的百分比.为此,需要编写标准化函数(normalization function).它会把所有的输入值加总,以求出每年的游客总数.然后,用每个城市的游客数除以总数,以求出该城市所占的比例. 把各城市的游客数量放在一份列表里,传给该函数,可以得到正确结

qq群相册如何删除不小心将相册传错

  QQ群中也是有相册的,而相册的内容可以是群中的任何成员上传的,有些时候我们如果不小心将自己的相册传错了,想要删除怎么办呢?也有的是一些不利于群发展的相册我们要删掉,这要怎么操作呢?下面小编为大家分享一下qq群相册怎么删除,希望能帮到大家. 1.首先我们进入到QQ群里面,然后在相册里选择一下需要删除掉的相册. 2.然后把鼠标移动到要删除相册的上面按下拉条,点击下删除就行了. 3.另外如果是单张删除的话,先进入到相册里面后,按一下要删除的照片.然后点击删除按确定就可以了. 大家注意哦!别人上传在

非平衡数据集的机器学习常用处理方法

定义:不平衡数据集:在分类等问题中,正负样本,或者各个类别的样本数目不一致. 例子:在人脸检测中,比如训练库有10万张人脸图像,其中9万没有包含人脸,1万包含人脸,这个数据集就是典型的不平衡数据集. 直观的影响就是,用这些不平衡的数据训练出来的模型,其预测结果偏向于训练数据中数据比较多的那一类,在人脸检测的例子中,就是检测器的检测结果大部分都偏向于没有检测到人脸图像. 另外一个不平衡数据集,就是信用卡欺诈交易,如果平均的抽取数据,则大部分的数据都是非欺诈交易,只有非常少的部分数据是欺诈交易 影响

小心它----“复合赋值运算”

这是今天在开发当中遇到的问题,虽然不是很大,但还是花了一点时间去琢磨.       嗯,好了.先看一段源代码:  short value=2; value-=2;      源码就是上面这个样子的,我动手写的时候因为理解的问题,把代码改成了这个样子: short value=2; value=value-2;     这时候编译器就和我杠上了,报第二行有错.想想也对, value 变量和一个整型运算后 Java 会自动将运算结果提升到 int 类型,这和 value 定义的时候的 short 类

oracle-ORACLE选取按变化时间最早的数据集

问题描述 ORACLE选取按变化时间最早的数据集 表结构如下: create talbe test ( id varchar2(20), val1 number, val2 number, val3 number, datatime date ) 选取按id分组的val1.val2.val3三列都不相同的按时间变化的行 例如id为001的val1.val2.val3发生了变化,过一段时间又变回去了,我想选取出每次变化最开始的那一行 解决方案 没有人回答么?算了我已经解决问题了,把句子贴上去供参考

算法-求T10I4D100K数据集文件

问题描述 求T10I4D100K数据集文件 本人在做关联规则算法方面的东西,想找测试用的数据集,找了很久都没有找到.求好心人帮助! 解决方案 我也想要一份,能发我吗 解决方案二: c k e d i t o r

主键值数据类型-informix数据库,不小心把主键值从int8改成float类型了

问题描述 informix数据库,不小心把主键值从int8改成float类型了 informix数据库,不小心把主键值从int8改成float类型了,然后值就变了.有人能帮忙看一下可能原因是什么吗? 解决方案 补充一下,数值由824变成800,转换的是informix数据库的主键值,由int8转为float

win7系统账户不小心删除了怎么办

win7系统账户不小心删除了怎么办   如何解决对某盘操作的时显示"您需要管理者权限才能进行XX操作"? 这段血泪史的起因是笔者想解决加密盘无法装在E盘的问题. 每次粘贴文件到E盘或者从E盘移走文件时,会显示没有管理者的权限.正是这个原因,加密盘无法安装在E盘. 令人不解的是,从控制面板-账户管理中可以看到chenjun这个账户已经是管理员了. 后来网上查到,产生这种现象的原因是装系统时会自动进行了一些安全处理.解决此问题只需右键选择E盘,选择属性-安全,然后给该账户或者组添加一系列权

MySQL中处理空值时要小心两个陷阱

  MySQL数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是一个比较特殊的字段.在MySQL数据库中,在不同的情形下,空值往往代表不同的含义.这是MySQL数据库的一种特性.如在普通的字段中(字符型的数据),空值就是表示空值.但是如果将一个空值的数据插入到TimesTamp类型的字段中,空值就不一定为空.此时为出现什么情况呢(如下图)? 我先创建了一个表.在这个表中有两个字