数据库用SQL2000,和DELPHI用ADOConnection,ADOTable,DATASource相连
数据库里存放了一些JPEG图片文件,有5个image控件!image1,image2,image3......
数据库里的图片超过5张,每张图片有唯一的ID号
要求能把数据库里的图片按ID号分别读到image1,2,3,4,5里,
既ID1读到image1,ID2读到image2里。以此类推!
因为数据库里的图片超过5张,所以有一个下一页Button,按一下,自动读后面的图片!这应该能用循环来做,但小弟太差,一直写不出来!还请各位大哥帮帮忙!送上100分!!一解决马上给分!
如果分不够,可以通知我,我另外给分!

解决方案 »

  1.   

    将你的image1,image2,image3放到一个list里就可以用序号来循环读入了
      

  2.   

    什么list?
    可以说的详细点吗?
      

  3.   

    还有SQL里的下一条语句应该怎么写是TABLE.NEXT吗?
      

  4.   

    可以用分页来做,每次取出5条记录,然后让image显示.
    select top 5 * from 表名
      

  5.   

    如下:实现用循环向image1,image2,image3,image4种写入各自的序号
    for i := 1 to 4 do
    begin
     (FindComponent('image'+inttostr(i)) as Timage).Canvas.TextOut(10,10,inttostr(i));
    end;
      

  6.   

    下面实现循环读入图片:
    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      i : integer;
    begin
      table1.Open;
      for i := 1 to 4 do
      begin
        (FindComponent('image'+inttostr(i)) as Timage).Picture := DBImage1.Picture ;
        table1.Next;
      end;
    end;
    能从数据库中直接将图片读入image中吗?我不会所以用一个DBImage中转
      

  7.   

    i1:=adoquery1.recno;
    for i:=i1 to i1+4 do
    begin
     ....
     ....
     adoquery1.next
    end;
      

  8.   

    SQL2000中放入图片我倒想学学.你大可把图片放在一文件夹中,然后读出来,又方便又快。我这里的6000多张jpg图片都这么做的。
      

  9.   

    恩在循环体的最后将
    table1.Next;
    改成
    if table1.Eof then
      table1.First
    else
      table1.Next;
    就可以真的循环了
      

  10.   

    TStream *AStream ;
                    TFileStream *AFileStream ;
                    AStream = DM->cdsUse1->CreateBlobStream(DM->cdsUse1->FieldByName("pic"), bmReadWrite);
                    Image1->Picture->SaveToFile("temp.bmp");
                    AFileStream =  new TFileStream("temp.bmp", fmOpenRead);
                    AStream->CopyFrom(AFileStream,AFileStream->Size);                AStream->Free();
                    AFileStream->Free();
                    DM->cdsUse1->ApplyUpdates(-1);
                    DeleteFile("temp.bmp");