CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  GAME,图形处理/多媒体

如何将图像保存到SQL数据库里

楼主lgzz(人气超旺flash群:3324587)2004-09-04 00:40:55 在 Delphi / GAME,图形处理/多媒体 提问

我做了一个成绩管理系统,想把学生的档案(照片)保存到数据库里,做了很久都没有成功,哪位朋友给代码,调试成功马上结贴!!在线等待!! 问题点数:100、回复次数:4Top

1 楼lgzz(人气超旺flash群:3324587)回复于 2004-09-04 00:46:41 得分 0

我是用DELphi软件来做的,Top

2 楼jiang5460(巴山夜雨)回复于 2004-09-04 00:47:35 得分 100

//保存图片到数据库的话,下边可以考虑。。  
   
  //记得加上uses   jpeg   ;  
  //其中有些地方不是太严密,回去修改下。。  
  //delphi7+   sql2000通过.可以保存jpeg,jpg,bmp三种格式。  
   
  unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   StdCtrls,   jpeg,DB,   ADODB,   ExtCtrls,   Buttons,   Grids,   DBGrids,  
      DBCtrls;  
   
  type  
      TForm1   =   class(TForm)  
          ADOConnection1:   TADOConnection;  
          ADOQuery1:   TADOQuery;  
          Button1:   TButton;  
          OpenDialog1:   TOpenDialog;  
          Edit1:   TEdit;  
          Image1:   TImage;  
          Image2:   TImage;  
          BitBtn1:   TBitBtn;  
          DBGrid1:   TDBGrid;  
          DataSource1:   TDataSource;  
          ADOQuery1pic:   TBlobField;  
          ADOQuery1borj:   TStringField;  
          procedure   Button1Click(Sender:   TObject);  
          procedure   BitBtn1Click(Sender:   TObject);  
   
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
      s:string;  
      s1:string;  
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
  bitmap1:tbitmap;  
  pjpg:tjpegimage;  
  pic:TMemoryStream;  
   
  begin  
  pjpg:=tjpegimage.Create;  
  if   opendialog1.Execute  
          then  
            s:=opendialog1.FileName   ;  
            s1:=extractfileext(s);  
                     
            if   (uppercase(s1)   ='.JPG'   )   or   (uppercase(s1)='.JPEG')   //   图片格式一定要大写  
                THEN  
                    begin  
                              pjpg.LoadFromFile(s   );  
                              pic:=TMemoryStream.Create;  
                              pjpg.SaveToStream(pic);  
                              image1.Picture.Bitmap.Assign(pjpg);  
   
                              pic.Position:=0;  
                              adoquery1.Insert   ;  
                              adoquery1.FieldByName('borj').VALUE   :=   2;  
                              TBlobField(adoquery1.FieldByName('pic')).LoadFromStream(pic);  
                              adoquery1.post;  
                              pic.Free;  
                              pjpg.free;  
                  end   ;  
   
          if   (uppercase(s1)='.BMP')         then  
   
                        begin  
                              edit1.Text   :=uppercase(s1);  
   
                            image1.Picture.LoadFromFile(s);  
                            adoquery1.Insert   ;  
                            adoquery1.FieldByName('pic').Assign(image1.Picture.Graphic);  
                            adoquery1.FieldByName('borj').VALUE   :=   3;  
   
                            adoquery1.Post   ;  
                      end;  
    end;  
   
      procedure   TForm1.BitBtn1Click(Sender:   TObject);  
   
        var  
          jpeg:tjpegimage;  
              begin  
                image1.Picture.Graphic   :=nil;  
                          with   adoquery1   do  
                                    begin  
                                          if   adoquery1.FieldByName('borj').Value   =3       //   bmp  
                                          then  
                                            image2.Picture.Bitmap.Assign(fieldbyname('pic'))     ;  
   
   
   
                                            if   adoquery1.FieldByName('borj').Value   =2     //jpge;  
   
                                            then  
                                                  begin  
                                                                jpeg:=tjpegimage.Create   ;  
                                                                  try  
                                                                    jpeg.Assign(adoquery1.FieldByName('pic')   );  
                                                                      image2.Picture.Graphic:=jpeg;  
                                                                        finally  
                                                                        jpeg.Free   ;  
                                                                    end;  
                                                  end;  
   
                                    end   ;  
                                     
   
        end;  
   
  end.  
   
   
   
  另法  
  var  
      msTmp:   TMemoryStream;  
  begin  
  try  
      msTmp   :=   TMemoryStream.Create;  
      Image1.Picture.Graphic.SaveToStream(msTmp);  
      (Adotable1.Fieldbyname('相片')   as   TBlobField).LoadFromStream(msTmp);  
  finally  
      FreeAndNil(msTmp);  
  end;  
  end;  
  Top

3 楼jiang5460(巴山夜雨)回复于 2004-09-04 00:47:56 得分 0

多给点分了,谢谢Top

4 楼lgzz(人气超旺flash群:3324587)回复于 2004-09-04 00:51:26 得分 0

调试成功了,结帖了Top

相关问题

  • 如何将一jpg图像存入sql数据库
  • 如何把图片保存到sql数据库中
  • 在vb客户端如何向sql数据库中插入图像?
  • 请问:如何把MSHFlexGrid里的数据保存到SQL数据库中
  • 问一下。在WINFROM中,如何保存图片。。是SQL数据库。
  • 如何调用加密算法后保存用户密码到SQL数据库中?(一定给分)
  • 如何使用ASP读出sql数据库的ole对象字段中的数据并保存成文件
  • 如何将SQL数据库中保存的图片用image控件显示出来?
  • 抢分啊,如何把从sql数据库取出来得DATASET保存进ACCESS数据库??????????
  • 如何恢复SQL数据库

关键词

  • jpeg
  • adoquery
  • borj
  • pjpg
  • pic
  • fieldbyname
  • 保存
  • tjpegimage
  • uppercase
  • opendialog

得分解答快速导航

  • 帖主:lgzz
  • jiang5460

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo