ヘッダーをスキップ
Oracle® Objects for OLE開発者ガイド
11gリリース2 (11.2) for Microsoft Windows
B58887-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

AppendChunkメソッド

説明

コピー・バッファ内のLONGまたはLONG RAW型のフィールドに文字列のデータを追加します。

使用方法

orafield.AppendChunk(string)
orafield.DbAppendChunk(string)  

引数

このメソッドの引数は、次のとおりです。

引数 説明
string 指定したフィールドに追加するデータ。

備考

AppendChunkメソッドでは、64KBを超えるデータ・フィールドを操作できます。


注意:

この例は、このままでは実行できません。これには、frmChunkという名前の定義済フォームが必要です。

この例では、AppendChunkメソッドを使用して、データベース内のLONG RAW型の列にファイルを読み込む方法を示します。この例では、longrawという列を含んだ表を示すOraDynasetという有効なダイナセットが存在していると想定しています。このコードをfrmChunkというフォームの定義セクションにコピーしてください。このプロシージャは、有効なfilenameを使用してコールしてください。

Sub AppendChunkExample (FName As String)
 
 'Declare various variables.
 Dim NumChunks As Integer, RemChunkSize As Integer
 Dim TotalSize As Long, CurChunk As String
 Dim I As Integer, FNum As Integer, ChunkSize As Integer
 
 'Set the size of each chunk.
 ChunkSize = 10240
 
 frmChunk.MousePointer = HOURGLASS
 
 'Begin an add operation.
 OraDynaset.AddNew
 
 'Clear the LONGRAW field.
 OraDynaset.Fields("LONGRAW").Value = ""
 
 'Get a free file number.
 FNum = FreeFile
 
 'Open the file.
 Open FName For Binary As #FNum
 
 'Get the total size of the file.
 
 TotalSize = LOF(FNum)
 
 'Set number of chunks.
 NumChunks = TotalSize \ ChunkSize
 
 'Set number of remaining bytes.
 RemChunkSize = TotalSize Mod ChunkSize
 
 'Loop through the file.
 For I = 0 To NumChunks
 
  'Calculate the new chunk size.
  If I = NumChunks Then
   ChunkSize = RemChunkSize
  End If
 
  CurChunk = String$(ChunkSize, 32)
 
  'Read a chunk from the file.
  Get #FNum, , CurChunk
 
  'Append chunk to LONGRAW field.
  OraDynaset.Fields("LONGRAW").AppendChunk (CurChunk)
 
 Next I
 
'Complete the add operation and update the database.
OraDynaset.Update
 
 'Close the file.
 Close FNum
 
 frmChunk.MousePointer = DEFAULT
 
End Sub