⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 数据库中存图片文件.htm

📁 数据库中图片的存取
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>

<body>

<h1 align="center">在sql server2000中进行图片文件的存取</h1>
<p align="left"><font color="#0000FF">首先,要求数据库中的表中有一个字段,其类型为 
image ,length=16(存取图片文件的大小为2的16次方),允许该字段为空。</font></p>
<p align="left"><font color="#0000FF">其次,书写从表中读取图片的代码:</font></p>
<p align="left">&nbsp;&nbsp; blob lb_image<br> 
integer int_no<br> 
&nbsp;setnull(lb_image)<br>
<br>
SELECTBLOB image<br> 
    INTO  :lb_image<br> 
    FROM image<br> 
    WHERE name = "aa" ;<br> 
  if isnull(lb_image)=false then<br> 
      p_1.SetPicture(lb_image)<br> 
  end if<br> 
</p> 
<p align="left"><font color="#0000FF">再次,书写选取图片文件保存到数据库中</font></p>
<p align="left"><br>
integer li_file,li_ret,loops,i,int_no<br> 
string ls_file,ls_path<br> 
blob lb_small,lb_image<br> 
long flen,bytes_read,new_pos&nbsp;<br>
<br>
li_ret = getfileopenname("选择图片文件",ls_path,ls_file, &amp;<br> 
    "BMP","图片文件(*.BMP),*.BMP,照片文件(*.jpg),*.jpg,照片文件(*.jpeg),*.jpeg,动画(*.gif),*.gif,Windows图元文件(*.WMF),*.WMF,run-length encoded(*.RLE),*.RLE")<br> 
if li_ret = 1 then<br> 
//以上代码找到需要存入数据库的文件<br> 
<br> 
//以下代码将该图片文件存入blob变量,因一次只能读32765k,故需用循环<br> 
setnull(lb_image)<br> 
   if li_file &lt;> -1 then&nbsp;<br>
      flen = filelength(ls_file)<br> 
      li_file = fileopen(ls_path,streammode!,read!,lockread!)<br> 
      if flen > 32765 then<br> 
         if mod(flen,32765)=0 then<br> 
            loops = flen/32765<br> 
         else<br> 
<br> 
<br> 
loops = (flen/32765) + 1<br> 
         end if<br> 
      else<br> 
         loops = 1<br> 
      end if<br> 
      new_pos = 1<br> 
      for i = 1 to loops<br> 
          bytes_read = fileread(li_file,lb_small)<br> 
          if i = 1 then<br> 
             lb_image = lb_small<br> 
          else<br> 
             lb_image = lb_image + lb_small<br> 
          end if<br> 
       next<br> 
       fileclose(li_file)<br> 
    end if<br> 
 end if<br> 
<br> 
<br> 
if ls_file&lt;>"" then<br> 
p_1.picturename=ls_file<br> 
end if<br> 
<br> 
SQLCA.AutoCommit = true<br> 
UPDATEBLOB image SET image = :lb_image  where name='fan' using sqlca;<br> 
IF sqlca.SQLNRows > 0 THEN<br> 
  messagebox('','ok')<br> 
else<br> 
  rollback;<br> 
  messagebox('','err')<br> 
END IF<br> 
SQLCA.AutoCommit = false<br> 
return<br> 
</p> 
<p align="left"> </p>

</body>

</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -