• ベストアンサー

VBからオラクルの先頭レコードを取得

VB6をoo4oでオラクルに接続しています。オラクルのテーブルの先頭レコード値や次のレコードの値の取得方法を教えて下さい。フィールドの値を参照して取得するのではなく、ただ単に先頭レコードや次のレコードの値を取得したいです。教えて下さい!

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

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

最も単純な方法のこと?

参考URL:
http://homepage2.nifty.com/inform/vbdb/oo4o_tables.htm
hayachama
質問者

お礼

参考URLが役にたちました ありがとうございます。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>フィールドの値を参照して取得するのではなく、 って意味がわからないのですが。 フィールド名を指定しないでってことですか? OraDynaset(0) とか、 OraDynaset.Fields(0) ってこと? >ただ単に先頭レコードや次のレコードの値を取得したいです。 では、どんな形式で値がほしいんですか? その”単純”とは何をさしているんでしょう?

hayachama
質問者

お礼

OraDynaset.Fields(0)で出来ました ありがとうございます。

関連するQ&A

  • オラクルからレコードを取得

    VBをoo4oでオラクルの接続していますが、オラクルのテーブルをレコードごとにEXCELのシートに出力したいです。 たとえばテーブルのレコード数が5の場合EXCELのsheet1からsheet5に分け出力したいです。 教えて下さい。

  • VBからOracleへの接続方法

    VBからOracleへの接続方法として、ADO、DAO、ODBC、oo4oなど色々と方法があるようですが、どれが一番いいんでしょうか。 oo4oは別途インストールが必要でしょうか。 環境はまっさらなXPから、Excelマクロでサーバ上のOrcleに接続します。

  • VB&ORACLEのパフォーマンス

    知っている方がいたら教えて下さい。 VBにて、OO4OでORACLEに接続し、マスタ存在のチェック(テーブル数:10テーブル、チェックデータ数:10000件)を行うとします。 下記の2つの処理では、1の方が速度が早いという認識だったのですが、実際のところどうなのでしょうか? また、どの位の差が出るのでしょうか? 1.ORACLEのストアドを作成し、チェック処理を行う。 2.VBより、SQL文を10回(テーブル数)発行し、チェック処理を行う。 テーブル数、データ数は特に気にしませんので、上記のような変更を行った方がいらしたら、どの位の速度改善になったのか、参考の為に教えて下さい。 よろしくお願いします。

  • Oracle 10.2.0 でMAX集計がおかしい!?

    VB6 で oo4o を使って Oracle DB開発をしています。 Oralce 8.1.6 から Oracle10.2.0 にサーバを切り替えました。 bというテーブルがあって、 a c d ---- ------ ----- 10 2 1 20 3 1 30 4 1 40 5 1 50 6 2 というデータがあったとします。 Select MAX(a) as a from b WHERE d=1 のようなSQLをVBから発行したときに SQL*PLUSでは、 a ---- 40 という結果が返ってくるのですが、VBでは、 a --- 10 20 30 40 のように複数行のレコードセットが帰ってきます。そのため、最大行を取得できません。Oracle8 のときは、SQL*PLUSと同じ結果が返ってきていました。ちなみに Select MAX(a) as a from b WHERE d=1 GROUP BY d ~~~~~~~~~~ と、GROUP BYを付けると、ただしい(SQL_PLUSと同じ値)値が取得できます。 Oracle10.2.0の問題か、oo4oの問題かと考えています。 ちなみにoo4oのオブジェクトは、 CreateObject("OracleInProcServer.XOraSession") で作成していて、クライアントのバージョンは 9.2.0.4.4です。 長文で失礼しますが、どなたかSQLを変更せずに解決する方法をご存じないでしょうか?

  • VB2005でOracle接続

    こんにちわ。 VB2005で作ったプログラムでOracleに接続するんですが Oracleのバージョンが"7"なんです。 この組合せの場合、接続するためにはoo4oしか方法はないんでしょうか? どなたかご教授願います。

  • 2つ目のレコードの値を取得するには?

    こんにちは。いつもお世話になりっぱなしです。 今回は、あるテーブルの2つ目以降のレコードの値を取得 できないかなぁと思って質問しました。 テーブルAにBというフィールドがあります。 その中にはア、イ、ウ・・・・とレコードがあるとした場合、 1つ目のレコードは Dfirst("B","A")で取得できますが、 2つ目のレコードはどうやって取得すればいいのでしょうか? 関数で出来れば最高なんですが、無理なようでしたら 別の方法でも構いません。 皆さんのお力をお貸しください。 よろしくお願いします。

  • ADOで現在のレコードの次のレコードの値も取得

    ADOで現在のレコードの次のレコードの値も取得するには? アクセスに対してADOでデータを取得しているのですが 例えばテーブルに フィールド1 あああ いいい ううう と入ってる時に、1レコード目のあああの値を取得しているときに、同時に次のレコードのいいいの値も取得することは可能ですか? Sub Sample() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Set cn = CurrentProject.Connection rs.Open "SELECT * FROM テーブル1", cn, adOpenStatic, adLockPessimistic For i = 1 To rs.RecordCount MsgBox rs("フィールド1") '現在のレコード MsgBox rs("フィールド1") + 1 '次のレコード rs.MoveNext Next rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Sub これだとダメなようです。 あああ いいい が表示されるようにしたいのですが、どうすればいいか教えてください。

  • ORACLEからの値取得字の文字化けについて

    いつもお世話になっております。 ORACLE9iのテーブル内容に"1~4"という文字が入ってまして、 そのデータをVB6でoo4oを用いて取得したのですが、 取得文字が"1?4"となってしまいました。 ?にReplace("1?4","?","~")というのもやってみたのですが、 変換されないので、?とはかかれてますが?ではない文字に化けてしまっているのかと思います。 どうすれば正しく取得できるのでしょうか、、、 ちなみにデータは"1(半角)~(全角)4(全角)"というわけの分からない形になっています。 この問題を解消する手立てをご存知の方、どうかアドバイスをお願い致します。

  • VB2005でDBのレコード件数の取得方法

    お世話になります。 VB2005でデータベースに接続して 読み込むテーブルのレコード件数を 取得したいのですが。 内容を配列で戻すため、動的配列を 使いたい為です。 レコード件数なしは、調べて HasRows=Falseでよいのは 分かったのですが。 宜しくお願いいたします。

  • VB.NET Oracle接続 クライアント混在

    <環境1> WinXP Oracle Client 7(?) <環境2> Win7 Oracle Client 10g(10.1.0.2.0) <サーバ> Oracle Database 7(?) こんにちわ、いつもお世話になってます。 VB.NETでoo4oにてOracleに接続するWinアプリがあります。 (なんでODPやADOを使わないんだ、という意見はナシでお願いします そもそもOracle7ではODP.NETってなかったもんですから。。。) 今までは環境1だけでしたが、環境2が出現しました。 当然、oo4oなのでInProcServerのバージョン違いにより 環境2からOracleDBへの接続はエラーとなります。 この環境2への対応が必要となっています。 そこでお聞きしたいのが 環境1、2両方に対応させるためにどのような方法をとるのがベストか、です。 現状、考えている方法は ・そもそもEXEをOra7用(InProc使用)とOra10g(ODP.NET)用に分ける ・Win7ProならXPモードにOra7をインストールする ・いっその事DB接続から何からADO.NETにかえる できれば理由付きでどんな方法が最善かご教授願います。

専門家に質問してみよう