|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。创建Web项目和设置数据库毗连
在注册了ImageLoader静态链接库以后,我们就能够创建Web项目了。我们利用微软VisualInterDev1.0创建ASP页面以
及到微软SQLServer数据库的数据毗连。
起首,翻开微软VisualInterDev。在文件File菜单里,选择新建(New)菜单项。在呈现的对话框里,选中Web项目向
导,在项目称号字段里输出ImageLoad。单击断定(OK),完成前面两步,停止导游。
能够看到,VisualInterDev在事情空间(Workspace)窗口里主动地天生了一个文件,叫做Global.asa。在用户第一次
检察Web程序里的页面里,就会主动天生这个文件。要毗连SQLServer里的数据库,选择项目|到场项目(Project|
AddToProject),然后选择数据毗连(DataConnection)。这里,选择数据源对话框呈现,我们必需界说一个数据源名
称(DSN)。
单击新建(New)按钮,在列出的可用数据驱动程序列内外,选择SQLServer,然后单击下一步(Next)。接着,在输出框
里输出Grocevb作为DSN。接上去的几步很简单完成,不再胪陈。
上面,呈现了SQLServer登录对话框。输出服务器称号,登录ID和口令,并单击选项(Option)按钮。从列出的可用数据
库列内外,选择Grocevb,单击断定(OK)。在停止了全体以上步骤以后,就前往到了选择数据源对话框。在这里,从DSN
列内外单击文件名Grocevb.dsn,然后完成前面几步停止这段操纵。
如今,能够双击Global.asa,检察以上步骤在这个文件里天生的代码。代码界说了毗连SQLServer数据库所必须的一些变
量。
为了初始化类clsImageLoader,必需在Global.asp的入手下手放两行代码。我们在列表C里列出了Global.asa里的代码。注
意clsImageLoader是一个会话局限内的工具。
列表C:Global.asa
<OBJECTRUNAT=ServerSCOPE=SessionID=objImageLoaderPROGID="ImageLoader.clsImageLoader">
</OBJECT>
<SCRIPTLANGUAGE=VBScriptRUNAT=Server>
SubSession_OnStart
Session("Grocevb_ConnectionString")="DRIVER=SQLServer;SERVER=(local);
UID=sa;PWD=;APP=Microsoft(R)DeveloperStudio;WSID=JIA;
DATABASE=Grocevb;UseProcForPrepare=0"
Session("Grocevb_ConnectionTimeout")=15
Session("Grocevb_CommandTimeout")=30
Session("Grocevb_RuntimeUserName")="sa"
Session("Grocevb_RuntimePassword")=""
EndSub
SubSession_OnEnd
setobjImageLoader=Nothing
EndSub
</SCRIPT>
创建ASP页面
为了毗连到数据库,并和ImageLoader这个静态链接库通讯,我们在Web项目里创建了一个ASP文件。办法是在文件(File)
菜单里选择新建(New)菜单项,在文件(Files)标签卡当选择ASP页面图标,在输出框里输出文件称号。我们把这个页面
定名为default.asp。在default.asp里包括的代码如列表D所示。
列表D:default.asp
<%SetdbConn=Server.CreateObject("ADODB.Connection")
dbConn.ConnectionTimeout=Session("Grocevb_ConnectionTimeout")
dbConn.CommandTimeout=Session("Grocevb_CommandTimeout")
dbConn.OpenSession("Grocevb_ConnectionString"),Session("Grocevb_RuntimeUserName"),_
Session("Grocevb_RuntimePassword")
SetcmdTemp=Server.CreateObject("ADODB.Command")
SetrstProduct=Server.CreateObject("ADODB.Recordset")
cmdTemp.CommandText="SELECTprod_id,prod_name,prod_desc,prod_unitprice,&_
"prod_unitquant,prod_imagetype"&_
"FROMProductsORDERBYprod_name"
cmdTemp.CommandType=1
SetcmdTemp.ActiveConnection=dbConn
rstProduct.OpencmdTemp,,0,1
objImageLoader.DbName="Grocevb"
objImageLoader.TableName="Products"
objImageLoader.NameOfImageColumn="prod_image"
objImageLoader.NameOfImageTypeColumn="prod_imagetype"
objImageLoader.NameOfImageIdColumn="prod_id"
objImageLoader.OpenConnection
%>
<HTML>
<HEAD>
<TITLE>从SQLServer装载图片的示例</TITLE>
</HEAD>
<BODYbgcolor="#FFFFFF"TOPMARGIN=8LEFTMARGIN=4>
<%DoWhileNotrstProduct.EOF%>
<%ProdId=rstProduct("prod_id")%>
<%objImageLoader.CreateTempImageFile(ProdId)%>
<%FileName="images/"&objImageLoader.ImageFile(ProdId)%>
<TABLEborder=1cellpadding=0cellspacing=0width=100%>
<TABLEborder=0cellpadding=5cellspacing=0width=100%cols=2>
<tdwidth=30%>
>
<p></p>
<fontsize=2>Imagetype:<%=rstProduct("prod_imagetype")%>
</td>
<tdwidth=70%>
<palign=center><fontsize=4><%=rstProduct("prod_name")%></font></p>
<palign=center><%=rstProduct("prod_desc")%></p>
</td>
</TABLE>
<p></p>
<TABLEborder=0cellpadding=5,cellspacing=0width=100%cols=2>
<tdwidth=50%>
<palign=left>Unitquantity:<%=rstProduct("prod_unitquant")%></P>
</td>
<tdwidth=50%>
<palign=left>Unitprice:<%=rstProduct("prod_unitprice")%></p>
</td>
</TABLE>
</TABLE>
<p></p>
<%rstProduct.MoveNext%>
<%Loop%>
</BODY>
</HTML>
注重:类ImageLoader里界说的CreateTempImageFile办法和ImageFile属性(只读)必要图片ID作为参数。在这个例子
里,图片ID就是表Products的主关头字(prod_id)。以是,prod_id的值必需传送给静态链接库。
总结
在这篇文章里,我们演示了一个办法,利用ActiveX静态链接库和ASP,能够从微软SQLServer服务器把图片装载到Web扫瞄
器。它已标明,这个办法在疾速开辟、简单利用和自界说Web页面的天真上都有上风。静态链接库被用来毗连数据库,提
取图片数据,把图片数据放进文件。ASP页面则卖力与SQL数据库和静态链接库通讯。我们已先容了设置SQL数据库和Web
项目标操纵历程。
固然这篇文章里的静态链接库和数据库的功效做了简化,但这里先容的步骤关于别的任何壮大庞大的Web项目都是无效
的。
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时. |
|