VB.netでORA11gのデータにアクセスして、オラクルのデータ項目を 別のところに移すと、「型 'IOraField' から型 'String' への変換は無効です。」というメッセージが出ます。

VB.netでORA11gのデータにアクセスして、オラクルのデータ項目を 別のところに移すと、「型 'IOraField' から型 'String' への変換は無効です。」というメッセージが出ます。 以下が、そのソースコードです。 Structure Type_Office Dim sCode_Office As String '営業所コード Dim sName_Office As String '営業所名称 End Structure Public ghOffice() As Type_Office '営業所データ構造体本体 Public gnOfficeNum As Integer '営業所データ数 '** 営業所データ検索開始 strSQL = "SELECT Code_Office, Name_Office FROM Office_Master ORDER BY Code_Office" objOffice = OraDatabase.DbCreateDynaset(strSQL, 0) If objOffice.RecordCount < 1 Then objOffice.Close() objOffice = Nothing OraSession.CommitTrans() '** トランザクション終了 Call MsgBox("営業所データの検索に失敗しました。", MsgBoxStyle.Critical, "エラーメッセージ") Exit Function End If '** 営業所データを構造体に保存 gnOfficeNum = objOffice.RecordCount '営業所構造体データ数 ReDim ghOffice(gnOfficeNum + 1) '営業所構造体本体 ''s = "営業所データ数:" & gnOfficeNum & "件" If objOffice.RecordCount <> 0 Then objOffice.DbMoveFirst() counter = 0 Do s = "" If IsDBNull(objOffice("Code_Office")) Then '営業所コード ghOffice(counter).sCode_Office = "" Else ghOffice(counter).sCode_Office = objOffice("Code_Office") End If s = s & "sCode_Office:" & ghOffice(counter).sCode_Office & ", " If IsDBNull(objOffice("Name_Office")) Then '営業所名称 ghOffice(counter).sName_Office = "" Else ghOffice(counter).sName_Office = objOffice("Name_Office") この箇所で上記のエラーメッセージが出ます。 End If s = s & "sName_Office:" & ghOffice(counter).sName_Office & ", " 'MsgBox s counter = counter + 1 objOffice.DbMoveNext() Loop Until objOffice.EOF End If objOffice.Close() objOffice = Nothing よろしくお願いします。

補足

エラーメッセージが出た個所は、「ghOffice(counter).sName_Office = objOffice(&quot;Name_Office&quot;) 」ではなく、「ghOffice(counter).sCode_Office = objOffice(&quot;Code_Office&quot;) 」の箇所です。 すみません。

Visual Basic609閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

たぶん ghOffice(counter).sCode_Office = objOffice("Code_Office").Value

ThanksImg質問者からのお礼コメント

ありがとうございました。 livingintheblueshadowsさんの通りにやってみたらうまくいきました。 ほんと、ありがとうございました。

お礼日時:2013/10/15 11:39