適用対象
説明
コピー・バッファ内の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