请问如何将二进制流写入数据库中???急!!!(100分)

  • 主题发起人 jack9999
  • 开始时间
给你一篇文章,供你参考:
将BMP放入Paradox的BLOB的字段中
(1)使用裁剪板
procedure TForm1.Button1Click(Sender: TObject);
var
C: TClipboard;
begin
C := TClipboard.Create;
try
if Clipboard.HasFormat(CF_BITMAP) then
DBImage1.PasteFromClipboard
else
ShowMessage('Clipboard does not contain a bitmap!');
finally
C.Free;
end;
end;

(2)从文件调入
procedure TForm1.Button2Click(Sender: TObject);
begin
Table1Bitmap.LoadFromFile(
'c:/delphi/images/splash/16color/construc.bmp');
end;

(3)从其他控件的BITMAP类中读入

procedure TForm1.Button3Click(Sender: TObject);
var
B: TBitmap;
begin
B := TBitmap.Create;
try
B.LoadFromFile('c:/delphi/images/splash/16color/athena.bmp');
DBImage1.Picture.Assign(B);
finally
B.Free;
end;
end;
 
ht99的方法可以,关键是使用Table建立二进制字段的字段对象,
利用二进制字段对象提供的方法把数据存到数据库中。
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DBTables;

type
TForm1 = class(TForm)
Table1: TTable;
Table1Remarks: TMemoField;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
ms: TMemoryStream;
begin
ms: TMemoryStream.Create;
ms.LoadFromFile('c:/aa.bmp');
Table1Remarks.LoadFromStream(ms);
ms.Free;
end;

end.
 
dataset.append;
TBlobField(dataset.FieldByName('字段名')).LoadFromFile(文件名);
adtaset.post;
 
在内存中的变量如何处理??
 
不想用写文件的方法,这种方法我早就知道,我想直接写入数据库!!!
 
给你发一个例子。
 
接受答案了.
 
顶部