例
注意: この例は、このままでは実行できません。これには、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