• ベストアンサー

レコードセットのリターンについて

プログラミング初心者です。 基本的な質問です。 教えてください。 例えば Select name, id from kaaisha order by id descという SQL文を Vbscriptで生成したRecordsetオブジェクトでOpenした時というのは、 idが最上値のレコード1行のみ返すのでしょうか? それともこの場合、降順で全てのレコードを返すのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.1

SQLというのはその名前の通りクエリ言語です。つまり命令して検索したものは塊として全部持ってきます。 全部を持ってきてその中から探すような書き方をしてはダメ。なるべく細かく検索を絞り込んで結果を少なくするのが普通です。特にVbscriptは。 あとは、メモリ上にカーソルを宣言し、カーソルを回すことで、その値に従ってその都度サーバーに取得する方法もあります。レコードセットを回すのと違うので効率が良いです。 しかし最近のプログラミングでは逆もまたしかり。インターネットの複数の場所からそれぞれのレコードを持ってくるとき。一つの結果ともう一つの結果を組み合わせて結果を出すときですね。C#などではメモリ上にDatasetとして仮想テーブルを作りそこに全部入れる。それを結果の分だけ作る。その上でメモリ上でいくつかをJOINして再クエリを掛ける。そういうやり方もあります。これはデーター数が限られているときか、あるポイントのスナップを取得し結果をあとから書き込む時です。

関連するQ&A