MoveFirstって必要なの?


さおり  2005-07-02 04:22:55  No: 90774

いつも参考にしています。

Oracle9iのデータをVB6側からSelect文で抽出しているのですが、
Openの直後にMoveFirstと書くのは一般的なのでしょうか?

一緒に開発している年配の方が、
"MoveFirstは絶対に書いておいた方がいい!"と
言うのですが、本当にそうなのでしょうか?

ご存知の方、宜しくお願い致します。


いな  2005-07-02 04:39:08  No: 90775

書かないよりは、書いておいた方がいい。
省略するよりは、明示した方がいい。っていう程度です。

変数の宣言などで、
  Option Explicitと書いておいた方がいい。

型指定で、
Dim IntCnt よりは
Dim IntCnt As Integer と書いておいた方がいい!

さて、あなたはどう思いますか?


ささ  2005-07-02 04:51:49  No: 90776

遊びのプログラムならば、
「動けばいいじゃん」で不要です。

>Openの直後にMoveFirstと書くのは一般的なのでしょうか?
コーディング次第でしょうね
MoveFirstでなく、MoveLastが必要な場合もあります。
もっとも、SQLのOrder次第でいかようにでもなります。


さおり  2005-07-02 04:54:32  No: 90777

いなさん、こんばんは。

"省略するよりは、明示した方がいい。っていう程度"なんですねぇ〜。

周りには、
 "昔は書かないとうまくいかない場合があったけど、
  今は書かなくても全く問題ないから書いていない"
と言う人も・・・

書いたからといって、処理に余分な時間が掛かるって
訳でも無さそうですねぇ・・・うぅ〜ん、書いた方がいいのかなぁ〜?


さおり  2005-07-02 05:02:35  No: 90778

さささん、こんばんは。

SQLのOrder次第でいかようにでも・・・ですか。(笑)

Openした時点でデータが先頭になっていない可能性って
結構あるのでしょうか?


ささ  2005-07-02 05:17:21  No: 90779

>Openした時点でデータが先頭になっていない可能性って
>結構あるのでしょうか?

ん〜、論点はそこじゃないんだけどな、
そもそもほしい情報は、必ず発行したレコードの先頭からというのは、
いったい、誰が決めたの?


ささ  2005-07-02 05:19:40  No: 90780

>  今は書かなくても全く問題ないから書いていない"

へぇ〜、そうなんだ。
どんなチェックをやって
問題ないと発言しているのか非常に興味があります。


さおり  2005-07-02 05:21:09  No: 90781

先頭になっていないかも知れないから、
MoveFirstって書いたほうがベスト!って感じですか??


いな  2005-07-02 05:34:43  No: 90782

ん〜と、
ベスト、ではなくベター....だから"○○した方がよい!"
まぁ、経験的なことを言わせてもらうと、

開発したマシンでは動いていたけれども、
実際に運用する際に、不具合が出る場合があるのね?

結構ありがちなのは、
お客様の環境次第で変わってきちゃうのさ
>Oracle Serverは9iだけど、Clientは8.0.6を使っているとかさ

その時、MoveFirstが書いてあるか?で障害が出なければ易いもんじゃない?
書かなくても問題は無いんだろうけど、
その程度(MoveFirstだけで済む)ならば、
より確実に動作するように(= 安全のために)するのがCoolじゃないのかな?

環境がちょ〜っと変わった程度で、動かなくなるようなプログラムって
脆弱じゃない?


魔界の仮面弁士  2005-07-02 06:45:27  No: 90783

ミドルウェアにもよるでしょう。

> Openした時点でデータが先頭になっていない可能性って
oo4o の場合、ORADYN_NO_MOVEFIRST の指定如何によって、
先頭になっていない(MoveFirstが必要になる)可能性があります。

> うぅ〜ん、書いた方がいいのかなぁ〜?
ADO の場合、EOF と BOF の状態如何によっては、
MoveFirst の呼び出しが実行時エラーとなる可能性があります。


いな  2005-07-02 07:03:42  No: 90784

あ、ささ さんの言いたいことが今になってわかった。

>いったい、誰が決めたの?

=ORADYN_NO_MOVEFIRST の指定されていると...


ひろ  2005-07-02 08:45:16  No: 90785

oo4oだと
RecordCountを参照するとMoveLastした直後と同じ状態になる
という話もありました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加