こんにちわ!!
VBでORACLEのデータを取得したい場合、
-----------------------------------------------------------
RDOなら:
Set rdRs = rdCn.OpenResultset(select 商品名 from 商品マスタ where 商品CD
=1234, rdOpenDynamic, rdConcurValues, rdExecDirect)
商品名用変数 = rdRs![商品名]
oo4oなら:
Set dynOra = dbOra.Dbcreatedynaset(select 商品名 from 商品マスタ where 商品C
D=1234, &H0)
商品名用変数 = dynOra![商品名]
-----------------------------------------------------------
と言う感じになると思うのですが、
PL/SQLやCOBOLの様に、
select 商品名 into 商品名用変数 from 商品マスタ where 商品CD=1234
で一発で商品名用変数に商品名を格納する事が、VBでも出来るのでしょうか。
どんな小さな情報でもかまいませんので、
情報提供、又はご教示お願致します。
環境:Windows2000、ORACLE8i、VB4.0
こういうこと?
Dim sql String
Set rdRs = rdCn.OpenResultset(sql)
上間違って送信しちゃった・・・
こういうこと?
Dim sql String
Dim 商品名 String
sql =select ......
Sql = sql + 商品名.....
Set rdRs = rdCn.OpenResultset(sql)
他の掲示板で見つけました。
oo4oで
--
Public Const ORAPARM_OUTPUT = 2
Public Const ORATYPE_VARCHAR2 = 1
OraDataBase.Parameters.Add ret, 0, ORAPARM_OUTPUT
set pret = OraDataBase.Parameters(ret)
pret.ServerType = ORATYPE_VARCHAR2
OraDataBase.ExecuteSql begin select dummy into :ret from dual; end;
wscript.echo pret.value
--
とか
--
Public Const ORASQL_DEFAULT = &H0
Dim OraSqlStmt
Set OraSqlStmt = OraDatabase.CreateSql( _
begin select dummy into :ret from dual; end;, ORADB_DEFAULT)
OraSqlStmt.Refresh
--
で、できるみたいです。
私はoo4o全然しらないので私的には未確認ですが・・・。
オラクルに関することは、ここで聞いてみるといいと思います。
(質問するにはユーザー登録がいるようですが・・・)
http://otn.oracle.co.jp/forum/index.html
尚、本件について解決したらこちらの掲示板にも結果報告してくださいね。
?さん、ぴのきよさん返信ありがとうございます。
返信がおそくなりすみません。。
ぴのきよさんのExecuteSql版、CreateSql版
共に取得に成功しました♪♪
CreateSql版の方は、下記の2行をOraSqlStmt.Refreshの前に追加しました。
OraDatabase.Parameters.Add ret, 0, ORAPARM_OUTPUT
OraDatabase.Parameters(ret).serverType = ORATYPE_NUMBER
本当に助かりました。
ありがとうございます。
PS:ぴのきよさんに教えて頂いたORACLE掲示板も今後活用させて頂きます。