[リストへもどる]
一括表示

投稿時間:2003/06/17(Tue) 16:43
投稿者名:まきゅり
Eメール:
URL :
タイトル:
レコード件数取得について
はじめましてです。超初心者です。早速質問です。
Aマスタのレコード件数を画面に表示したいのですが、やり方がわかりません。

データベースはORACLEでoo4oで接続しています。

Dim NOW_KENSU   AS Integer
Dim OraDatabase AS OraDatabase
NOW_KENSU = OraDatabase.ExecuteSQL("SELECT COUNT(Aマスタのキー項目) FROM Aマスタ")
件数表示ラベル.Caption = NOW_KENSU

でやっているのですが、0が表示されてしまいます。
どなたかわかる方、ご教授お願いします!!

投稿時間:2003/06/17(Tue) 16:58
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: レコード件数取得について
> NOW_KENSU = OraDatabase.ExecuteSQL("SELECT COUNT(Aマスタのキー項目) FROM Aマスタ")

ExecuteSQLには、SELECT文以外のDMLを渡してください。ExecuteSQLの戻り値は、
DELETE/INSERT/UPDATEのDMLによって影響を受けたレコードの数です。

SELECT文を実行したい場合は、CreateDynasetメソッドを使います。例えば、
SQL = "SELECT COUNT(Aマスタのキー項目) FROM Aマスタ"
NOW_KENSU = OraDatabase.CreateDynaset(SQL, ORADYN_ORAMODE Or ORADYN_READONLY Or ORADYN_NOCACHE).Fields(0).Value
のようになります。

投稿時間:2003/06/17(Tue) 17:22
投稿者名:まきゅり
Eメール:
URL :
タイトル:
Re^2: レコード件数取得について
魔界の仮面弁士さん、早速のご返答ありがとうございました!!
早速試したところ、無事うまく動きました。感謝感謝。
魔界の仮面弁士さん、だ〜いすき!!
ところで、

>  NOW_KENSU = OraDatabase.CreateDynaset(SQL, ORADYN_ORAMODE Or ORADYN_READONLY Or ORADYN_NOCACHE).Fields(0).Value
> のようになります。

の、最後の .Fields(0).Value はどーゆー意味をあらわしているのでしょうか?
お時間に余裕がありましたら、ぜひ教えてください。
それと、他のメジャーなレコード件数取得の方法も教えていただけると、とってもとってもうれしいです。
質問ばかりで申し訳ございませんが、よろしくお願いいたします。