首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

在delphi中怎么向oracle中存入照片

2012-03-16 
在delphi中如何向oracle中存入照片?我在oracle中创建了一个含blob字段的表,用来存照片,可向中保存时保存不

在delphi中如何向oracle中存入照片?
我在oracle中创建了一个含blob字段的表,用来存照片,可向中保存时保存不进去。
procedure   TForm1.Button2Click(Sender:   TObject);
  var   graphic1:Tgraphic;
begin
    graphic1:=graphic1.Create;
    graphic1.LoadFromFile(OpenPictureDialog1.FileName);
    with   adoquery1   do
      begin
      open;
      INSERT;
        fieldbyname( 'id ').AsString:=TRIM(edit1.Text);
      FieldByName(   'IMAGE1 ').Assign(graphic1);
        //TblobField(FieldByName(   'IMAGE1 '   )).SaveToFile(OpenPictureDialog1.FileName);
        POST;
      end;
      graphic1.Free
end;

[解决办法]
不是用Assign,Assign是把一个对象copy给另外一个对象,你把Tgraphic copy给TField,是错误的。

你改成这样试试?
TBlobField(FieldByName( 'IMAGE1 ')).LoadFromFile(OpenPictureDialog1.FileName);
[解决办法]
create table t_blob(cblob blob);
/

begin
self.ADODataSet1.Close;
self.ADODataSet1.CommandText:= 'select * from t_blob ';
self.ADODataSet1.Open;
self.ADODataSet1.Append;
TBlobField(self.ADODataSet1.FieldByName( 'cBlob ' )).LoadFromFile( 'D:\41207.JPG ' );
self.ADODataSet1.Post;
end;


[解决办法]
:hongqi162(失踪的月亮)
up
[解决办法]
ls d ls可以啊
[解决办法]
把*.jpg图片转换为*.bmp格式再存入BLOG字段就OK了
[解决办法]
用文件流写入
[解决办法]
var
ms: TMemoryStream;
begin
WaitForm.pdShowProgress(cSMPhoto);
ms := TMemoryStream.Create;
dbimgPhoto.Picture.Graphic.SaveToStream(ms);
ms.Position := 0;
with TADOQuery.Create(nil) do
try
Connection := AdodsOp.GetADOConn;
1: begin //µÚÒ»´ÎɨÃè
SQL.Add('INSERT INTO VW_DA_RYZPB0(GRID00,RYZPGS,RYZP00,JBR000,JBRQ00) ');
SQL.Add('VALUES(:GRID00,:RYZPGS,:RYZP00,:JBR000,:JBRQ00)');
end;


Parameters.ParamByName('GRID00').Value := Trim(edtGRID00.Text);
Parameters.ParamByName('RYZPGS').Value := edtRYZPGS.Text;
Parameters.ParamByName('RYZP00').LoadFromStream(ms, ftDBaseOle);
Parameters.ParamByName('JBR000').Value := Trim(gUserInfo.vUserName);
Parameters.ParamByName('JBRQ00').Value := gSysInfo.PO_SYSDATE;
ExecSQL;
finally
Free;
ms.Free;
WaitForm.pdCloseProgress;
end;

热点排行