delphi使用ADO在sql数据库存取图片的方法
delphi使用ADO在sql数据库存取图片的方法
新手参考,老鸟绕行
我一直不认为能把代码写的和天书一样的程序员是好的程序员,那不过是因为我真的对delphi也就是略懂皮毛,太深了看不懂。
网上查询数据库存取图片的方式,看的是一头雾水,有人提出保存路径使用时再调用,方法很好,但现实很残酷,在客户端使用时才发现,无法调用服务器端的路径和图片(我指的服务器也就是一台部门使用的普通的PC机,只不过是安装了数据库而已)。使用网络路径需要将服务器端的图片目录共享,或者使用FTP上传下载,不是不安全,就是很麻烦。
一个部门也就200人左右,保存成图片,规格小一点,数据库应该不会太大,调用速度应该不会太慢的,于是又回归了数据库保存的思路。
人懒了写代码就愿意少一点,研究后才发现,网上那些复杂的代码就是故意让人们发晕的。
只为了演示如何存取,什么控件、路径、对话框什么的就省了,知道怎么保存和取出图片就行了。sql数据库图片字段使用image类型,存储时如果要显示图片建议使用TImage,取图显示时建议使用TDBImage。
存储图片
procedure TForm1.Button1Click(Sender: TObject);
var
Picture1: TPicture;
begin
Picture1 := TPicture.create;
Picture1.loadfromfile('你自己定义的图片路径+名字.bmp');
image1.picture.loadfromfile('你自己定义的图片路径+名字.bmp');
ADOQuery1.Close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('insert into pic values(:名字,:图片) ');
ADOQuery1.Parameters.ParamByName('名字').Value :='你自己定义的名字';
ADOQuery1.Parameters.ParamByName('图片').Assign(Picture1);
ADOQuery1.ExecSQL;
Picture1.Free;
end;
取出图片
procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from pic where 名字:=名字');
ADOQuery1.Parameters.ParamByName('名字').Value :='你自己查询的名字';
ADOQuery1.Open;
DBEdit1.Text:=ADOQuery1.FieldByName('名字').AsString;
DBImage1.DataField:='图片'; //可在属性里直接设置
DBImage1.DataSource:=DataSource1; //可在属性里直接设置
end;
建议:该方法只支持image格式的图片,tiff格式的图片支持存储,取出时还需要自己捉摸一下。在应用期间查询时,建议其他字段和image数据类型的字段分开查询,尤其是遍历数据库记录时,否则记录多了速度会很慢。
delphi使用ADO在sql数据库存取图片的方法相关推荐
- 安卓 mysql读取图片路径_android开发之数据库存取图片
Android数据库中存取图片通常使用两种方式,一种是保存图片所在路径,二是将图片以二进制的形式存储(sqlite3支持BLOB数据类型).对于两种方法的使用,好像第二种方法不如第一种方法更受程序员欢 ...
- 火山安卓Sqlite数据库存取图片
一.配置模块 勾选火山模块 二.布局 按下图布局 三.创建资产和变量 ①设置资产目录 app目录下创建assets文件夹,并放入图片 ②创建变量 启动类下创建 四.打开创建数据库 ①创建事件 ②设置代 ...
- SQL Sever数据库存取图片
转自:http://www.cnblogs.com/hfzsjz/archive/2010/05/21/1740778.html 本实例主要介绍如何将图片存入数据库.将图片存入数据库,首先要在数据库中 ...
- c mysql如何获取照片_MYSQL数据库存取图片等文件(C语言)
直接把文件放入数据库中比较适合小文件,方便管理,比如头像图片和声音,如果是较大型的文件建议不要直接存进数据库,而是放在服务器,把文件索引放在数据库. MYSQL 中有个数据对象是 BLOB,即 Bin ...
- oracle 处理图片,oracle数据库存取图片方法教程-Oracle
数据库存取图片信息,有两种方式: 1)转换成二进制数据存储,故首先设置对应的数据字段数据类型为Blob. 2)服务器设置路径保存上传文件,数据库中只存储文件路径. 这里采用第一种方式简单示范如何存储并 ...
- 小谈c#数据库存取图片的方式
第一种方式 文件夹与数据库配合 /// <summary>/// 上传图片/// </summary>/// <param name="FUSShopURL ...
- pl/sql 11g 12705_如何用PLSQL导出数据库存表结构信息
如何用PLSQL导出表结构,不用登陆数据库存,直接用plsql工具怎么导出指定表的表结构呢?下面我就介绍下如何导出. 1:进行plsql后选怎Tools -->> Exports User ...
- Delphi 原生ADO(二)
我发现很多朋友在开发数据库时都使用 Delphi 自带的 ADO 组 件 或 Diamond ADO,其实在 Delphi 中使用原生 ADO 接口也是十分方便和有效的.我使用原生 ADO 开发项目已 ...
- 【转】MFC下用ADO连接SQL SERVER,保存图片,BLOB
使用ADO实现BLOB数据的存取 一.前言 在实际的开发过程中我们常常需要存储较大的二进制数据对象,比如:图像.音频文件. 或其它二进制数据,这些数据我们称之为二进制大对象BLOB(Binary La ...
最新文章
- 智能制造-逆向工程-三维测量-标定
- C#面向对象(四)虚方法实现多态
- Python Requests 简明教程
- 蓝桥杯哈夫曼树java_Java实现蓝桥杯3n+1问题
- python免费开源工具推荐_年薪200万的程序员,推荐这10大Python免费开源工具!
- CentOS 7 SSH相关使用问题及其解决办法
- 165体重_身高165的女性体重多少比较合适?过胖和过瘦都不太好
- 08.存储Cinder→5.场景学习→08.Backup Volume→2.实操
- 掰碎了讲换行符和回车符
- CSS常见的中属性级,选择符级的Hack
- 操作系统原理学习总结
- 迅为IMX6ULL开发板Linux RS232/485驱动实验(上)
- 阿里巴巴Java开发手册代码规范
- 禁止谷歌浏览器 错误报告_报告浏览器错误
- linux geos 动态库,未经sudo许可在linux上安装GEOS库
- DSP CCS12.00 芯片:TMS320F28335 外部中断 XINT1, 和映射区域的 k1 -- k4 按键的功能实现
- redis为什么这么快
- 企业高频实用API推荐
- 【情报工具】分享15款保护隐私的搜索引擎
- Ubuntu编译内核树