掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DBからの値取得について (ID:88807)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
すでにSay さんからの回答がありますが、 rs.Fieds.Item("MAKER_CD").Value が、省略していない正式な表記です。 他の記述は、「規定のプロパティ」を省略した表記法です。 規定のプロパティを省略すると、型の解釈に時間がかかり、パフォーマンス面で不利になります。 なお、1番の表記の場合、結果が「Field型」になります。 Debug.Print TypeName(rs("MAKER_CD")) たとえば rs("MAKER_CD") = 123 のようなコードを書いた場合、Field型の規定のプロパティであるValueプロパティに対して操作が行われます。 rs("MAKER_CD").Value = 123 Valueを省略して、値を直接 取得/設定する事は、ミドルウェアによっては、まれに誤動作を起こす事が報告されていますので、パフォーマンスの面を切り離して考えても、個人的にはあまりお勧めしません。 Valueプロパティは、できるだけ省略しない方が良いでしょう。 個人的には、上記の2番の書き方をお勧めしますが、ADOの場合は、 rs.Fields("MAKER_CD").Value = 123 の代わりに、 rs.Collect("MAKER_CD") = 123 と書いても、ほぼ同等のパフォーマンスを得る事ができますので、Collectプロパティを使ってみるのも良いかもしれません。 実際にどれを使うべきかは、下記を参考に考えてみてください。 http://www.gj.il24.net/~nakasima/vb/tech/style/index.htm ちなみに、大昔に計測した限りでは、Value無しの時に一番高速となる「rs.Fields.Item("MAKER_CD")」の表記法でさえ、Value付きで一番低速である「rs!MAKER_CD.Value」の表記法より、20%ほど遅かったです。 http://www.ocv.ne.jp/~oratorio/windev/vb/DefPropTest.lzh
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.