科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道用SQL Server为Web浏览器提供图像(3)

用SQL Server为Web浏览器提供图像(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

微软SQL Server数据库服务器能够在SQL数据库里保存图片和大量的文本。图片和文本使用的数据类型分别是image图片类型和text文本类型。

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年9月3日

关键字: 图像 数据库 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件
If Len(Dir(DiskFile)) > 0 Then '删除已经存在的目标文件。 aQn*1GL%  
  Kill DiskFile &rCM.g  
End If U0i:V(  
tB a+O cK~  
DestFileNum = FreeFile bpC}urK#+  
Open DiskFile For Binary As DestFileNum r^di-|>6U  
NumBlocks = FldSize \ BLOCKSIZE aJNOH C&(W  
LeftOver = FldSize Mod BLOCKSIZE u y#*Uml  
Xgn}3_(,b  
Select Case fld.Type `Ic}gBZ  
Case adLongVarBinary '用于图片数据类型。 uYFnc6_b  
  byteData() = fld.GetChunk(LeftOver) O%Z5Ft'6G  
  pic = fld.GetChunk(LeftOver) y)~[p  
  Put DestFileNum, , byteData() FGSh[oe=2  
*A_  @,  
  For i = 1 To NumBlocks PET4x;+  
    byteData() = fld.GetChunk(BLOCKSIZE) Yxe fw/  
    Put DestFileNum, , byteData() s5 nw   
  Next i J/_{B=]  
4{~LQNN:OA  
Case adLongVarChar '用于文本数据类型。 +}C>H^  
  For i = 1 To NumBlocks $02#psD   
    strData = String(BLOCKSIZE, 32)  RL3'tM(A  
    strData = fld.GetChunk(BLOCKSIZE) +bAs.,sj.  
    Put DestFileNum, , strData L$= m?  
  Next i fXSHnhf  
>/.]Iuqxg  
  strData = String(LeftOver, 32) @Zw(&*_*  
  strData = fld.GetChunk(LeftOver) p!e"e&9  
    Put DestFileNum, , strData :fXZ7+7  
  Case Else /kpJmI$d  
    Err.Clear U*;Les]<  
    Err.Raise vbObjectError + 22, "Read from DB", "Not a Chunk Required column!" dsdM qR:Z  
End Select G1t0kppI'  
^^I2 |P0  
Close DestFileNum <x5m'N i  
8#V, (+V  
End Sub {]4h<}kQ+  
GtJyb  
Private Sub HandleError() T}kri1v4  
Dim adoErrs As ADODB.Errors <{1MPlc$  
Dim errLoop As ADODB.Error s1o(pl  
Dim strError As String wU@TLSE  
Dim i As Integer v3 }a/?  
'********************************************************** KA=ZYnF  
'作用:处理可能的错误。 FEn* b4gq|  
'********************************************************** <jHQ /q  
Cg?3'8Q4  
If mAdoConn.State = adStateClosed Then GoTo Done jLG8^RCD  
  i = 1 xWuAPM|  
  Set adoErrs = mAdoConn.Errors 4 PIj  
For Each errLoop In adoErrs '枚举错误集。     RVO-  
  With errLoop -\i.,n  
    strError = strError & vbCrLf & "   ADO Error   #" & .Number re=yLrR"  
    strError = strError & vbCrLf & "   Description " & .Description [APOu[2e  
    strError = strError & vbCrLf & "   Source     " & .Source &njZ Dyl  
    i = i + 1 =rQdLk7\p  
  End With m#Pirrd  
Next )SsR:kF+  
7v<bzxQP  
Done: cdwgp  
Err.Raise vbObjectError + 21, "", strError P!-I#=Ur  
End Sub G{k>lv"3  
RpPX 6eQ  
Private Sub Class_Initialize() *ftj-8i]l  
mlngNumberOfFiles = 0 6'oYuH6  
End Sub UcjaC T-  
YiMzI1WB7  
Private Sub Class_Terminate() h/>% -^v  
Dim i As Integer gO3q>H^p  
On Error GoTo Error_handler wlA$0[  
  If mAdoRst.State = adStateOpen Then mAdoRst.Close '关闭记录集。     gwTS6) Yq  
  If mAdoConn.State = adStateOpen Then mAdoConn.Close '关闭连接。 }A n(fW  
    Set mAdoRst = Nothing TiO FdK)  
    Set mAdoConn = Nothing 87^RMSks  
Exit Sub IJ*UFyYDf  
7Sdh3(`^  
Error_handler: FJ!47uc.B  
Call HandleError a` `n,J*  
End Sub hTHxQA  
&q'v 1y%K  
Error_handler: V?0DDZZH~  
Call HandleError Bzp f ytE  
End Sub l,VyNf  
*8*L4`v_d  
F}W)9>z  
下一步是编译动态链接库。在文件(File)菜单里,单击建立(Make) ImageLoader.dll。VB会询问保存动态链接库的位置,然后就编译项目。在要ASP文件里使用ImageLoader.dll这个动态链接库,必须在Windows注册表里注册它。操作方法是,在NT的启动菜单里,选择运行(Run),然后在输入框里输入下面的命令行: eH])=Co  
Qy_e|]U  
regsvr32 localpath\ImageLoader u@QiY'\T  
注意,实际使用时要用动态链接库实际所在的完整路径替换上面命令行里的“localpath”。现在,就可以在程序里,比如ASP文件里使用这个动态链接库了。 '0IgRY@+  
建立Web项目和设置数据库连接 Iv{ncu  
*3j0B#Nc  
在注册了 ImageLoader 动态链接库之后,我们就可以建立Web项目了。我们使用微软Visual InterDev 1.0 建立ASP页面以及到微软SQL Server数据库的数据连接。 RhoyV!^  
fN <bWv.  
首先,打开微软Visual InterDev。在文件File 菜单里,选择新建(New)菜单项。在出现的对话框里,选中Web项目向导,在项目名称字段里输入ImageLoad 。单击确定(OK),完成后面两步,结束向导。 a=?QJ  
O;ob(   
可以看到, Visual InterDev 在工作空间(Workspace)窗口里自动地生成了一个文件,叫做Global.asa。在用户第一次查看Web程序里的页面里,就会自动生成这个文件。要连接SQL Server里的数据库,选择项目 | 加入项目(Project | Add To Project),然后选择数据连接(Data Connection)。这里,选择数据源对话框出现,我们必须定义一个数据源名称(DSN)。 gcjy]q  
k@tlK!h
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章