Delphi实现在数据库中存取图像

时间:2010-01-31 10:00:49  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:>  本系统中需要设计一个新的基于Paradox 7的数据库Image.db,图2为设计完成的Image.db数据库。图2 设计完成的数据库   为了方便测试程序,Image.db数据库存储在实例程序所在的路径下。  设置TTable组件...
  正文:向窗体上添加一个TListBox组件、一个TImage组件和一个TTable组件,设计完成的主界面如图1所示。



图1 主界面


  本系统中需要设计一个新的基于Paradox 7的数据库Image.db,图2为设计完成的Image.db数据库。



图2 设计完成的数据库


  为了方便测试程序,Image.db数据库存储在实例程序所在的路径下。

  设置TTable组件的TableName属性为Image.db,Active属性为True。

  在程序运行初期,首先会判断Image.db数据库中是否存在记录,如果没有记录存在,那么就执行以下代码向Image.db数据库中添加“鸟.bmp”文件:


procedure TForm1.FormCreate(Sender: TObject);
 var
  mem:TMemoryStream;
 begin
    if Table1.Eof and Table1.Bof then
    begin
       with Table1 do
         begin
            Insert;
            FieldByName(’Name’).AsString:=’鸟’;
            mem:=TMemoryStream.Create();
            mem.LoadFromFile(’鸟.bmp’);
            TBlobField(FieldByName(’Data’)).LoadFromStream(mem);
            Post;
           end;
        end;
  end;


  然后按照相同的方式顺序向Image.db数据库中添加“样品.wav”、“叶子.wav”和“荷花”图像文件。

  最后通过下面的代码把Image.db数据库中存储的文件名字添加到窗体的TListBox组件中:


with Table1 do
  begin
     First;
     while not Eof do
     begin
        ListBox1.Items.Add(FieldByName(’Name’).AsString);
        Next;
       end;
  end;


  在程序运行过程中,如果用户在窗体的TListBox组件中选择了图像文件,程序会通过TTable组件的First方法把数据表中的第1条记录作为当前记录,然后通过一个循环来遍历数据库中的记录。如果某条记录中Name字段的内容和用户的选择相同,那么就把该记录中Data字段中的图像信息读取出来,并且把图像显示在窗体上的TImage组件上。代码如下:

Delphi实现在数据库中存取图像》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/12673.html


关键字:

关于《Delphi实现在数据库中存取图像》文章的评论


procedure TForm1.ListBox1Click(Sender: TObject);
var
 mem:TStream;
 bmp:TBitmap;
begin
   with Table1 do
     begin
        First;
        while not Eof do
        begin
           if FieldByName(’Name’).AsString=ListBox1.Items[ListBox1.ItemIndex] then
           break;
           Next;
          end;
        bmp:=TBitmap.Create;
        mem:=CreateBlobStream(FieldByName(’Data’),bmRead);
        mem.Position:=0;
        bmp.LoadFromStream(mem);
        self.Image1.Picture.Assign(bmp);
        bmp.Free;
        mem.Free;
       end;
  end;
站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td