登录社区:用户名: 密码: 忘记密码 网页功能:加入收藏 设为首页 网站搜索  

文档

下载

图书

论坛

安全

源码

硬件

游戏
首页 信息 空间 VB VC Delphi Java Flash 补丁 控件 安全 黑客 电子书 笔记本 手机 MP3 杀毒 QQ群 产品库 分类信息 编程网站
  立华软件园 - 安全技术中心 - 技术文档 - Delphi 技术文章 | 相关下载 | 电子图书 | 攻防录像 | 安全网站 | 在线论坛 | QQ群组 | 搜索   
 安全技术技术文档
  · 安全配制
  · 工具介绍
  · 黑客教学
  · 防火墙
  · 漏洞分析
  · 破解专题
  · 黑客编程
  · 入侵检测
 安全技术工具下载
  · 扫描工具
  · 攻击程序
  · 后门木马
  · 拒绝服务
  · 口令破解
  · 代理程序
  · 防火墙
  · 加密解密
  · 入侵检测
  · 攻防演示
 安全技术论坛
  · 安全配制
  · 工具介绍
  · 防火墙
  · 黑客入侵
  · 漏洞检测
  · 破解方法
 其他安全技术资源
  · 攻防演示动画
  · 电子图书
  · QQ群组讨论区
  · 其他网站资源
最新招聘信息

DELPHI存取JPEG文件到SQL Server数据库(续文)
发表日期:2003-07-23作者:高红岩[] 出处:  

  在"DELPHI存取JPEG文件到SQL Server数据库"发表之后,有许多网友来电表示支持和相关的技术咨询,在此首先对那些关心本文的朋友们表示衷心的感谢。

  由于网友的需要做一个档案管理系统,存取jpeg文件到sql 2000数据库中,但在dbimage中及qrdbimage中均不能正常显示jpeg的文件,此为borland的限制,虽然使用第三方控件能达到要求,但我们还是来原始的实现一下这方面的技术,其实原理十分简单,既然我们在"DELPHI存取JPEG文件到SQL Server数据库"能存储jpeg文件,也能在image中显示,但一接触db类的图象显示控件就行不通了,我们可以在jpeg文件存入数据库之前转换成bmp文件再存入数据库即可,程序运行环境delphi5+ado+sql 2000桌面版+win98se2最终版,数据库中存放图片字段的类型为image,程序源代码如下:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Db, DBCtrls, Grids, DBGrids, ADODB, ExtDlgs,jpeg, ExtCtrls, StdCtrls;

type

TForm1 = class(TForm)

ADOConnection1: TADOConnection;

ADOQuery1: TADOQuery;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBImage1: TDBImage;

ADOQuery1ID: TStringField;

ADOQuery1FIELD: TStringField;

ADOQuery1STYLE: TStringField;

ADOQuery1SYSTEM: TStringField;

ADOQuery1DATE: TDateTimeField;

ADOQuery1PERSON1: TStringField;

ADOQuery1PERSON2: TStringField;

ADOQuery1PERSON3: TStringField;

ADOQuery1PHOTO: TBlobField;

ADOQuery1DESCRIPTION: TStringField;

OpenPictureDialog1: TOpenPictureDialog;

Image1: TImage;

Button1: TButton;

Memo1: TMemo;

procedure DBImage1Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.DBImage1Click(Sender: TObject);

var

picstream:tadoblobstream;

bmppic:tbitmap;

jpgpic:tjpegimage;

bmpstream:TMemoryStream;

begin

if form1.OpenPictureDialog1.Execute then

begin

if extractfileext(form1.openpicturedialog1.filename)='.bmp' then

begin

adoquery1.edit;

picstream:=tadoblobstream.Create(tblobfield(ADOQuery1PHOTO),bmWrite);

//注:上句代码中的ADOQuery1PHOTO是adoquery1中的固定字段photo的固定字段的name

//用户需要手工添加固定字段,也可用fields[i]来进行选择,这点在

//"DELPHI存取JPEG文件到SQL Server数据库"这篇文章中没有注释,至使许多朋友没有

//编译成功。

picstream.LoadFromFile(openpicturedialog1.filename);

picstream.Position:=0;

adoquery1.edit;

tblobfield(ADOQuery1PHOTO).loadfromstream(picstream);

adoquery1.post;

adoquery1.edit;

picstream.free;

end

else

begin

jpgpic:=tjpegimage.Create;

bmppic:=tbitmap.Create;

bmpstream:=tmemorystream.Create;

jpgpic.LoadFromFile(openpicturedialog1.filename);

bmppic.Assign(jpgpic);

bmppic.SaveToStream(bmpstream);

adoquery1.edit;

picstream:=tadoblobstream.Create(tblobfield(ADOQuery1PHOTO),bmWrite);

//注:上句代码中的ADOQuery1PHOTO是adoquery1中的固定字段photo的固定字段的name

//用户需要手工添加固定字段,也可用fields[i]来进行选择,这点在

//"DELPHI存取JPEG文件到SQL Server数据库"这篇文章中没有注释,至使许多朋友没有

//编译成功。

picstream.LoadFromStream(bmpstream);

picstream.Position:=0;

adoquery1.edit;

tblobfield(ADOQuery1PHOTO).loadfromstream(picstream);

adoquery1.post;

jpgpic.free;

bmppic.free;

bmpstream.free;

adoquery1.edit;

picstream.free;

end;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

memo1.Lines.Add(form1.openpicturedialog1.filter);

end;

procedure TForm1.FormShow(Sender: TObject);

begin

form1.openpicturedialog1.filter:='All *.jpg;*.jpeg;*.bmp;|*.jpg;*.jpeg;*.bmp;)';

end;

end.

至此实现的功能代码如上所例,希望能对需要这方面资料的朋友有所帮助.我的联系方式为:Email:delphijl@163.com

个人主页:http://delphijl.99898.com(吉林delphi开发网)

QQ:123168091(技术交流,不聊天!)。

我来说两句】 【发送给朋友】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 DELPHI存取JPEG文件到SQL Server数据库(续文)

 ■ [欢迎对本文发表评论]
用  户:  匿名发出:
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。

最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放 / 友情链接  
Copyright ©2001-2006 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00194