Results 1 to 4 of 4

Thread: Blob fields willen niet uitlezen

  1. #1

    Blob fields willen niet uitlezen

    Ik probeer de blob velden van de travellog (worldtravel) applicatie te bekijken, maar op de een of andere manier levert bdpDataReader.GetBytes steeds 0 op. Ik kan de fout niet vinden, wat doe ik verkeerd?

    Code:
    procedure TWebForm1.ReadBlob;
    const
      c_sel   = 'select bmp from travellog';
      c_bufferSize = 100;
    var
      cmd:    bdpCommand;
      rdr:    bdpDataReader;
    
      barray: array[0..c_bufferSize-1] of byte;
      bytesRead: Integer;
      idx: Integer;
    
      fName: String;
      fStream: FileStream;
      bWriter: BinaryWriter;
    
    begin
      cmd := bdpCommand.Create(c_sel, bdpConn);
    
      if bdpConn.State = ConnectionState.Closed then bdpConn.Open;
    
      try
        rdr := cmd.ExecuteReader(CommandBehavior.SequentialAccess);
        rdr.Read;
    
        fName := 'bitmap_01.bmp';
        fStream := FileStream.Create('C:\Inetpub\wwwroot\images\' + fName,
                                     FileMode.OpenOrCreate,
                                     FileAccess.Write);
        try
          bWriter := BinaryWriter.Create(fStream);
          try
            idx := 0;
            repeat
              bytesRead := rdr.GetBytes(0, idx, barray, 0, c_bufferSize);
              bWriter.Write(barray, 0, bytesRead);
              idx := idx+c_bufferSize;
            until bytesRead < c_buffersize;
          finally
            bWriter.Close;
          end;
        finally
          fStream.Close;
        end;
      finally
        bdpconn.Close;
      end;
    end;

  2. #2
    Ik zie zo niet echt een probleem, maar ik heb Interbase 7 even niet bij de hand.

    Je leest (alleen) het eerste record uit. Weet je zeker dat er een record is en dat deze een BMP bevat?
    Marcel

  3. #3
    Ja.. de Blob heeft wel degelijk een waarde (zie de plaatjes in de WebDB applicatie) Ik heb via deze methode alles naar files proberen te dumpen, dit resulteerde in 100 files van 0kb

    Code:
    procedure TMainForm.ReadBlob;
    const
      c_sel   = 'select pictno,bmp from travellog';
      c_bufferSize = 100;
    var
      cmd:    bdpCommand;
      rdr:    bdpDataReader;
    
      barray: array[0..c_bufferSize-1] of byte;
      bytesRead: Int64;
      idx: Integer;
      fStream : FileStream;
      fName: String;
      bWriter: BinaryWriter;
    
    begin
      cmd := bdpCommand.Create(c_sel, bdpConn);
    
      if bdpConn.State = ConnectionState.Closed then bdpConn.Open;
    
      try
        rdr := cmd.ExecuteReader(CommandBehavior.SequentialAccess);
        while rdr.Read do
        begin
    
        fName := 'bitmap_'+ rdr['Pictno'].ToString +'.bmp';
        fStream := FileStream.Create('C:\Inetpub\wwwroot\images\' + fName,
                                     FileMode.OpenOrCreate,
                                     FileAccess.Write);
        try
          bWriter := BinaryWriter.Create(fStream);
          try
            idx := 0;
            repeat
              bytesRead := rdr.GetBytes(1, idx, barray, 0, c_bufferSize);
              bWriter.Write(barray, 0, bytesRead);
              idx := idx+c_bufferSize;
            until bytesRead < c_buffersize;
          finally
            bWriter.Close;
            bWriter.Free;
          end;
        finally
          fStream.Close;
          fStream.Free
        end;
        end;
      finally
        bdpconn.Close;
        cmd.Free;
      end;
    end;

  4. #4
    heh?! waar is de laatste '\' achter 'C:\Inetpub\wwwroot\images' gebleven?

    [edit] Deze methode werkt wel met het uitlezen van Blob teksten (ipv een BinaryWriter een StreamWriter gebruikt)
    Last edited by Vortex; 26-Jul-04 at 19:41.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. bmp's willen niet in imagelists
    By r.nijenhuis in forum Algemeen
    Replies: 5
    Last Post: 13-Mar-03, 22:01
  2. Kleur plaatje wat niet niet zichtbaar is
    By The Master in forum Algemeen
    Replies: 10
    Last Post: 18-Jan-03, 02:06
  3. Replies: 2
    Last Post: 11-Dec-02, 12:48
  4. API Timer wil niet firen...
    By PsychoMark in forum Algemeen
    Replies: 0
    Last Post: 27-Nov-01, 15:43

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •