📄 1118.html
字号:
<html> <head> <title>这可不是正确的做法!!!</title> </head> <BODY BACKGROUND="" BGCOLOR="white" TEXT="black" LINK="blue" VLINK="#808080" ALINK="red"> <center> <h1>这可不是正确的做法!!!</h1> </center><HR><p>Posted by <a href="mailto:eipper@ms14.hinet.net">阿晴</a> on October 17, 1997 at 15:12:02:<p>In Reply to: <a href="1116.html"><b>不要加 MoveFirst !</b></a> posted by 小吴 on October 17, 1997 at 07:01:52:<p>你开资料库的方法不可以用 dbOpenDynaset, 否则你一定会抓不准<br>Rs(Recordset).AbsolutePosition --> 目前资料库指标位置.<br>而且, 最大的缺点是你不可以用 Seek 这个指令, 所以:<br>虽然你用 Dynaset 开档时它会自动帮你把资料依 Key 值排好, 这<br>样好像我们可以少做排序这个动作, 而且 Add资料时它也会依 Key<br>值排好, 这只是一种假象. 因为, 你在 Seek 资料时, FindFirst <br>是从资料库第一笔找到最后一笔, 这种方法称之为 "暴力搜寻法",<br>如果你的资料量很大, 那劝你还是不要用这种方法, 会让硬碟累死<br>的!!! <br>但是, 如果你是用 OpenTable 那就不同了, 再大的资料量也可以<br>在瞬间找到 (6万笔不用0.1秒, 用 Rs.Seek ">=" PrimaryKey) , <br>这样你建 "索引" 才有意义, 否则建了索引郤用 OpenDynaset,<br>一点也看不出来你建索引有何意义. 注意: Dynaset 不可以用<br>Seek 方法, 而 Table 不可以用 AbsolutePosition!!<br> 我之前也是用 OpenDynaset , 结果还要多设 2个变数 -> 一个存 <br>目前的动作指标, 称之为程式指标; 一个存 Rs.RecordCount 总<br>记录数. 因为, AbsolutePosition不一定正确, 但是我们程式计算<br>的结果一定正确, 例如: AddNew 时, 如果 UpDate 则总笔数要 <br>加一, 但是资料库的 RecordCount 可不会加一, 所以要你自已去<br>指定, AbsolutePosition也一样. MoveNext 加一, MovePrevious<br>减一, MoveFirst = 0, MoveLast = RecordCount. <br>除此之外还要设 BookMark, 用在新增及删除时. 而且删除时, 你<br>要注意一下资料指标, 如果你删最后一笔, 再按 PageDown移到下<br>一笔时, 错误讯息出现了 --> 没有现用的记录!!! 所以,如果删的<br>是最后一笔则要先 BookMark 起来再往前移动 2笔, 这样才不会<br>有问题. Why? 举例: 如果资料总数为 100, 你要删第一百笔, 则<br>要确定先让 AbsolutePosition = 99, 然后 Rs.Delete , UpDate.<br>此时 AbsolutePosition 还停在 99 的位置, 你要告诉它先移回来<br>然后再做其它的动作, 否则一下没处理好, 就出错了! 这种方法比<br>较不好! 比较正统的方法是用 Index. 保证立刻让你少了 3个变<br>数, 而且怎么删都不会出错, 不用 BookMark 都没关系, 删第一<br>笔跟最后一笔也不用做特别处理 & 判断!<br> 你可以先到 http://www.kj.com.tw DownLoad 王国荣在 Run!PC<br>发表的资料库专栏, 一共有四份, 那里面对 "索引" 讲得很清楚!<br>有问题再 mail 给我. <br> <br>eipper@ms14.hinet.net<br><br><p><a name="followups">Follow Ups:</a><br><ul><!--insert: 1118--><!--top: 1120--><li><a href="1120.html"><b>感谢二位!我再试试看. 有问题再向你(妳)们请教 (无内文)</b></a> 巨蟹座女子 <i>19:38:47 10/17/97</i>(<!--responses: 1120-->0)<ul><!--insert: 1120--></ul><!--end: 1120--></ul><!--end: 1118--><br><HR><p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -