名前 題名 ▼ Mr.XRAYさん > > 本人のレスがあって,Delphi XE7 だと OK で,Delphi 6 だとエラー発生 > > のようです.SaveToStream なのかな ? > > 調べてみないと分かりませんね. > > 以下のコードでやってみました.Window 7 U64(SP1) + Delphi6 Pro(UP2) です. > ただし,JPGE 画像ファイルでのテストです. > 画像ファイルを変えて実行してみましたが,エラーは発生しませんでした. > データを読み出して表示するのも行っています. > > 以下はサンプルに掲載しているコードではなく, > 質問されたコードをコピペして,画像の部分だけ変えています. > もちろん,データベースは違いますが... > > > procedure TForm1.Button1Click(Sender: TObject); > var > StrText : String; > FileStream : TFileStream; > BlobStream : TStream; > begin > ADOConnection1.Connected := False; > ADOConnection1.LoginPrompt := False; > > StrText := 'Provider=Microsoft.Jet.OLEDB.4.0'; > StrText := StrText + ';Data Source=' + '../BlobTest_BLOB.mdb'; > > ADOConnection1.ConnectionString := StrText; > ADOConnection1.Mode := cmReadWrite; > > ADODataSet1.Connection := ADOConnection1; > > ADODataSet1.CommandText := 'SELECT * FROM TEST where ID=100 '; > ADODataSet1.Active := True; > ADODataSet1.Edit; > > //--------------------------------------------------------------------------- > // 上はデータベースへの接続用コード > // 以下が実際の書き込みコード > //--------------------------------------------------------------------------- > try > BlobStream := ADODataSet1.CreateBlobStream(ADODataSet1.FieldByName('Graphic'), bmWrite); > FileStream := TFileStream.Create(ExpandFileName('../501.jpg'), fmOpenRead or fmShareDenyNone); > BlobStream.CopyFrom(FileStream, FileStream.Size); > FileStream.Free; > BlobStream.Free; > ADODataSet1.Post; > except > ADODataSet1.Cancel; > end; > ADODataSet1.Active := false; > end; > > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link