现在想用ado连接来吧文件存入数据库中
我保存的代码如下:
var
  s:TStream;
  Stream:TMemoryStream;begin
 opendialog1.Execute;
 if opendialog1.FileName<>'' then
  begin
    try
    S:=TFileStream.Create(opendialog1.FileName,fmopenread);
    Adoquery1.Close;
    Adoquery1.SQL.Clear;
    Adoquery1.SQL.Add('select * from word');
    Adoquery1.Active:=true;
    Adoquery1.Insert;
    Adoquery1.FieldByName('a').Value:=ExtractFileName(opendialog1.FileName);
    Tblobfield(Adoquery1.FieldByName('b')).LoadFromstream(s);
    Adoquery1.Post;
//    listbox1.Items.Add(opendialog1.FileName);
    finally
     s.Free;
     Adoquery1.Close;
    end;
  end;
end;
但是好像没有保存进取,如果要保存大文件的画有错误(1m都不行)
给位帮帮忙了!!
读取的是:
var
s:string;
begin
savedialog1.Execute;
Adoquery1.Close;
Adoquery1.SQL.Clear;
Adoquery1.SQL.Add('select * from word where a='''+listbox1.Items.Strings[listbox1.ItemIndex]+'''');
//showmessage('select * from word where a='''+listbox1.Items.Strings[listbox1.ItemIndex]+'''');
Adoquery1.Active:=true;
(Adoquery1.FieldByName('b') as TBlobField).savetofile(ExtractFileName(saveDialog1.FileName));
现在不知道是保存有错误还是读取有错误。

解决方案 »

  1.   

    if openpicturedialog.Execute then
     begin
      if openpicturedialog.FileName ='' then exit;
     case tcomponent(sender).Tag of
      0:
      adophoto.Edit ;
      1:
      adophoto.Insert ;
      end;
    tblobfield(adophoto.Fields[1]).LoadFromFile(openpicturedialog.FileName);
    adophoto.Post ;
    end;  
    这是我存照片的,正常,你看看
      

  2.   

    我试了一下没有问题,是不是你ADO设置参数有问题呀。
      

  3.   

    procedure TForm1.Button3Click(Sender: TObject);
     var
         tmp:tblobstream;
         ms:tmemorystream;
         str:string;
    begin
      str:='d:\word1.doc';
      olecontainer1.CreateObjectFromFile(str,false);
      ms:=tmemorystream.Create;
      olecontainer1.SaveToStream(ms);
      query1.DatabaseName:='mydata';
      query1.Active:=false;
      query1.SQL.Clear;
      query1.sql.Add('select * from stu');
      query1.RequestLive:=true;
      query1.Active:=true;
      query1.Append;
      query1.FieldByName('id').Value:='78';
      query1.FieldByName('xm').Value:='张三';
      tblobfield(query1.FieldByName('wz')).LoadFromStream(ms);
      ms.Free;
      query1.Post;
      query1.SQL.clear;
      query1.RequestLive:=false;  query1.Active:=false;
    end;procedure TForm1.BitBtn1Click(Sender: TObject);
    var
        memorystream1:tmemorystream;begin
        olecontainer1.DestroyObject;
        memorystream1:=tmemorystream.Create;
        query1.DatabaseName:='mydata';
        query1.Active:=false;
        query1.SQL.Clear;
        query1.sql.Add('select wz from stu where id='+'''78''');
        showmessage(query1.sql.text);
        query1.Open;
        query1.last;
        tblobfield(query1.FieldByName('wz')).SaveToStream(memorystream1);
        memorystream1.Position:=0;
        olecontainer1.LoadFromStream(memorystream1);
        memorystream1.Free;
        query1.Active:=false;
    end;