在DELPHI中更简单的存取JPEG文件到SQLSERVER数据库

2016-02-19 18:24 2 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享在DELPHI中更简单的存取JPEG文件到SQLSERVER数据库,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - 编程语言 】

 

  最近在CSDN上看到两篇关于《DELPHI中存取JPEG文件到SQLSERVER》中的文章之后,觉得其中讲述的方法虽然有可取之处,但颇费时,我这里有更简单的操作方法,而且安全可靠,不敢一人独享,愿发布出来与大家共享。在Delphi7.0+Win2000+SqlServer 2000中测试通过,运行良好,现将思路、源码公开如下:

  解决思路:

  1、 关键在于将打开的JPEG文件动态转换为Tbitmap对象并显示在Timage对象中;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  2、 将显示的图片提交到数据库中。

  本例中在SQLSERVER2000中建立了一个试例表:exam(xm char(10),photo image);

   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  程序源代码:

  unit SavePic;

  interface

  uses

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

    Dialogs, ExtDlgs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB, Buttons,

    StdCtrls,Jpeg;

   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  type

    TForm1 = class(TForm)

      SpeedButton1: TSpeedButton;

      ADOConnection1: TADOConnection;

      Table1: TADOTable;

      DataSource1: TDataSource;

      DBGrid1: TDBGrid;

      DBImage1: TDBImage;

      Image1: TImage;

      SpeedButton2: TSpeedButton;

      OpenPictureDialog1: TOpenPictureDialog;

      Label1: TLabel;

      Label2: TLabel;

      Edit1: TEdit;

      SpeedButton3: TSpeedButton;

      procedure SpeedButton2Click(Sender: TObject);

      procedure SpeedButton1Click(Sender: TObject);

      procedure SpeedButton3Click(Sender: TObject);

    private

      { Private declarations }

    public

      { Public declarations }

    end;

   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  var

    Form1: TForm1;

   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  implementation

   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  {$R *.dfm}

  procedure TForm1.SpeedButton2Click(Sender: TObject);

  var

    bmp1:TBitmap;

    jpg1:TJpegImage;

  begin

   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

    OpenPictureDialog1.DefaultExt:=GraphicExtension(TJpegimage);

    if OpenPictureDialog1.Execute then

       begin

       bmp1:=TBitmap.Create;

       jpg1:=TJpegImage.Create;

       try

       jpg1.LoadFromFile(OpenPictureDialog1.FileName);

       bmp1.Assign(jpg1);

       Image1.Picture.Bitmap.Assign(bmp1);

       finally

         jpg1.Free;

         bmp1.Free;

       end;

      end;

  end;

   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  procedure TForm1.SpeedButton1Click(Sender: TObject);

  begin

    table1.Open;

    table1.insert;

    table1.fieldbyname('xm').asstring:=Edit1.Text;

    table1.FieldByName('photo').Assign(Image1.Picture);

    table1.post;

    table1.Refresh;

  end;

  end.

来源:http://www.tulaoshi.com/n/20160219/1617541.html

延伸阅读
在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样。经过一段时间的摸索,找到的一个比较简单的解决方案是: (1)在复制数据库之前,先备份该数据库到文件。 (2)依据备份文件创建新的数据库,并Res...
在查询中执行下列语句 EXEC sp_attach_single_file_db @dbname = 'tggov_Data', @physname = 'E:tggov_Datawww.tulaoshi.com.MDF' 'tggov_Data' 为恢复的数据库名 'E:tggov_Datatggov_Data.MDF' 物理文件位置
标签: SQLServer
先把要恢复的文件置于MS SQL里的DATA文件里,进入MS SQL主数据库服务器后 1.我们使用默认方式建立一个供恢复使用的数据库(如MHDYF2005)。可以在SQL Server里面建立。 2.停掉数据库服务器。 3.将刚才生成的数据库的日志文件MHDYF2005_log.ldf删除,用要恢复的数据库mdf(yu1.mdf)文件覆盖刚才生成的数据库数据文件MHDYF2005...
正在看的ORACLE教程是:在ORACLE移动数据库文件。 ---- ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。由于磁盘空间的变化,或者基于数据库磁盘I/O 性能的调整等,数据库管理员可能会考虑移动数据库文件。下面以UNIX平台为例,分别讨论三种数据库文件的移动方法。 ---- 一.移动数据文件: ---- 可以用ALTER DATABASE,ALTE...
delphi 最吸引人的特点之一就是它的强大的数据库访问能力,通过database desktop 工具可方便的建立、编辑数据库。由于实际原因我们往往需要在程序运行状态下动态建立某个数据库。 如果你让用户用database desktop 工具手工建立数据表那么你写的程序将会打大折扣,不过你不用担心delphi完全可以用语言来完成此功能,为我们提供方便。我...

经验教程

899

收藏

20
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部