如何将数据(如整数、字符、文件、记录类型、记录集等)以二进制形式存入SQL SERVER2000中的
Binary 或Image类型的字段?一句话,所有能在内存中表示的数据都可以写入数据库,但如何做,各位大虾们,如何做呢?

解决方案 »

  1.   

    TBlobField(Query.Parameters.ParamByName('vblob')).LoadFromStream(Stream,ftBlob);
      

  2.   

    用流就可以了。
    Tblobfield(Query1.FieldByName('picture')).LoadFromStream(fs);
      

  3.   

    但是如何将数据存入流?var
      I:Integer;
      S:TMemoryStream;
    begin
      I:=10202;
      S:=TMemoryStream.Create;
      S.Write(I,SizeOf(I)//////////??????????????????????????????\
      ??????????????????????????????????????????????????????????end;
      
      

  4.   

    var
      I:Integer;
      S:TMemoryStream;
    begin
      I:=10202;
      S:=TMemoryStream.Create;
      Stream.Write(i,sizeOf(Integer));
      Stream.Position := 0;
      Stream.Read(j,sizeOf(Integer));
    end;
      

  5.   

    楼上的都说了
    tmemorystream
    tblobfield()
      

  6.   

    http://community.csdn.net/Expert/topic/3365/3365048.xml?temp=.1956598
    看下这个
      

  7.   

    读文件到库
    procedure TForm1.RzButton4Click(Sender: TObject);
    var
      st: TStringStream;
      i : integer;
    begin
        query1.SQL.Clear;
        query1.SQL.Add('insert into table(callingwavdef,calledwavdef) values(:callingwavdef,:calledwavdef)');
      for i:=0 to 28 do
      begin
          st := tstringstream.Create('g:/'+inttostr(i)+'.wav');
          query1.ParamByName('callingwavdef').AsBlob:=st.DataString;
          query1.ParamByName('calledwavdef').AsBlob:=st.DataString;
          query1.ExecSQL;
       end;
    end;
      

  8.   

    用的是BDE
    库到文件
    procedure TForm1.RzButton1Click(Sender: TObject);
    var
      BinStream:TMemoryStream;
      ss:TBlobField;
      i : integer;
    begin
      i:=0;
      if not Query1.Active then
        Query1.Active:=true;
      while not query1.Eof do
      begin
        ss:=Tblobfield(query1.FieldByName('callwav'));
        ss.SaveToFile('g:/'+inttostr(i)+'.wav');
        inc(i);
        application.ProcessMessages;
        Query1.Next;
      end;end;
      

  9.   

    procedure TForm1.FormCreate(Sender: TObject);
    var
      s : TStringStream;
    begin
      try
        s:=Tstringstream.Create('ddddddddddddd');
        ....保存操作同上
      finally
        freeandnil(s);
      end;
    end;
      

  10.   

    用 hjf1223(阿不—大羽) 的方法会更简单。