利用delphi7从数据库中读取图片的源程序 及所需要的控件及其属性

利用delphi7从数据库中读取图片的源程序 及所需要的控件及其属性,第1张

好久没有回答问题了,分有点底~~

使用ado控件来连接Access数据库,其中主要字段为:

字段名称类型描述

id自动编号 主键值

img OLE对象 用来保存数据

//保存到数据库

procedure TForm1Button1Click(Sender: TObject);

var

F:File of Byte;

size:Longint; //文件大小

FilePath,time:string; //文件时间

begin

FilePath:=ExtractFilePath(Paramstr(0))+'demojpg';//地址为当前目录下

AssignFile(F,FilePath);

reset(F);

size:=Filesize(F);//获取文件大小。

time:=DatetimetoStr(FileDateToDateTime(FileAge(FilePath)));//获取文件创建时间。

closefile(F);

adoquery1Close;

adoquery1SQLClear;

adoquery1SQLAdd('select from Image');

adoquery1Open;

adoquery1Insert;

adoquery1FieldByName('FileName')AsString:=ExtractFileName(FilePath); //存储文件名称

adoquery1FieldByName('FileKind')AsString:=ExtractFileExt(FilePath); //存储文件扩展名。

adoquery1FieldByName('FileSize')AsInteger:=size; //存储文件的大小。

adoquery1FieldByName('FileTime')AsString:=time; //存储文件的创建时间。

adoquery1FieldByName('SaveTime')AsDateTime:=now();//存取文件的存储时间

TBlobField(ADOquery1FieldByName('FileContent'))LoadFromFile(FilePath);

ADOquery1Post;

end;

//使用Timage控件来显示数据库中

procedure TForm1Button2Click(Sender: TObject);

Var

Ms:TStream;

jpg:Tjpegimage;

begin

adoquery1Close;

adoquery1SQLClear;

adoquery1SQLAdd('select top 1 from Image order by id desc');

adoquery1Open;

Ms:=TStreamCreate;

MS:=adoquery1CreateBlobStream(adoquery1FieldbyName('FileContent'),bmRead);

MsPosition :=0;

jpg:=TjpegimageCreate;

JpgLoadFromStream(Ms);

Image1PictureAssign(Jpg);

jpgFree;

MSFree;

end;

一般不建议直接把用二进制写到数据库里面

而是应该让用户上传到服务器,然后freetextbox里面引用这个在服务器的地址。

就是先上传--编辑器里面插入--存入数据库。

access数据库本身不提供加密,加密过程受控于网站的asp代码,你没有代码就不知道怎么加的密,不过大量网站都是用md5加密的,随便找个软件就能破解了。不过md5是单向散列算法(不明白就算了),也就是说,你只能靠枚举来破解密码,不要指望能通过算法解密出来

MD5加密算法

单向不可逆的算法

用MD5加密的方式是把用户的密码通过MD5加密后存储在数据库里,验证的时候只要把用户输入的密码用MD5加密以后与数据库里面的比较,一样就是正确的密码。

如果你密码忘了的话,把数据库里保存的MD5那段改成 202cb962ac59075b964b07152d234b70 ,然后用密码123登录。

因为123用MD5加密之后就是202cb962ac59075b964b07152d234b70,然后你再在你的修改密码中改成其他的。

数据库特点

1、数据结构化

数据库系统实现了整体数据的结构化,这是数据库的最主要的特征之一。这里所说的整体结构化,是指在数据库中的数据不再仅针对某个应用,而是面向全组织;不仅数据内部是结构化,而且整体式结构化,数据之间有联系;

2、数据的共享性高,冗余度低,易扩充

因为数据是面向整体的,所以数据可以被多个用户、多个应用程序共享使用,可以大大减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性;

3、数据独立性高

数据独立性包括数据的物理独立性和逻辑独立性。物理独立性是指数据在磁盘上的数据库中如何存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样一来当数据的物理存储结构改变时,用户的程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不改变。数据与程序的独立,把数据的定义从程序中分离出去,加上存取数据的由DBMS负责提供,从而简化了应用程序的编制,大大减少了应用程序的维护和修改;

freecad一般用SQL数据库。

SQL(StructuredQueryLanguage)是具有数据 *** 纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。SQL语言不仅能独立应用于终端,还可以作为子语言为其他程序设计提供有效助力,该程序应用中,SQL可与其他程序语言一起优化程序功能,进而为用户提供更多更全面的信息。

SQLServer数据库包括MicrosoftSQLServer以及SybaseSQLServer两个子数据库,该数据库能否正常运行直接关系着整个计算机系统的运行安全。

以MySQL为例:

影响数据库性能的主要因素总结如下:

1、sql查询速度

2、网卡流量

3、服务器硬件

4、磁盘IO

以上因素并不是时时刻刻都会影响数据库性能,而就像木桶效应一样。如果其中一个因素严重影响性能,那么整个数据库性能就会严重受阻。另外,这些影响因素都是相对的。

例如:当数据量并没有达到百万千万这样的级别,那么sql查询速度也许就不是个重要因素,换句话说,你的sql语句效率适当低下可能并不影响整个效率多少,反之,这种情况,无论如何怎么优化sql语句,可能都没有太明显的效果。

相关内容拓展:

1、SQL查询速度

风险:效率低下的SQL

2、网卡流量

风险:网卡IO被占满(100Mb/8=100MB)

方案:

①减少从服务器的数量。从服务器都要从主服务器上复制日志,所以,从服务器越多,网络流量越大。

②进行分级缓存。前方大量缓存突然失效会对数据库造成严重的冲击。

③避免使用“select ”进行查询

④分离业务网络和服务器网络

3、磁盘IO

风险:磁盘IO性能突然下降。

方案:使用更好的磁盘设备解决。

以上就是关于利用delphi7从数据库中读取图片的源程序 及所需要的控件及其属性全部的内容,包括:利用delphi7从数据库中读取图片的源程序 及所需要的控件及其属性、freetextbox怎么上传图片到数据库中、请问Access数据库里面的一些密码是用什么方式加密的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/9849629.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存